2016-10-19 5 views
0

То, что я пытаюсь сделать, это воссоздать так называемый эффект «сдвига RGB», чего очень легко достичь с помощью программ обработки изображений.Разделение и сдвиг RGB-каналов в Python

Я предполагаю, что я могу «разбить» каналы изображения, либо открыв изображение в виде матрицы тройки, либо открывая изображение три раза и каждый раз работая только на одном канале, но я не знаю, как " (возможно, создав новое изображение и расположив пиксель [0,0] каждого канала в смещенной позиции?) и уменьшите непрозрачность каждого канала, чтобы не показывать только последний канал, вставленный в изображение.

Кто-нибудь пытался это сделать? Вы знаете, если это возможно? Если да, то как вы это сделали?

Спасибо всем заранее!

+0

Из правил: * Вопросы, предлагающие нам рекомендовать или находить книгу, инструмент, библиотеку программного обеспечения, учебное пособие или другие ресурсы за пределами сайта, не относятся к теме для переполнения стека, поскольку они склонны привлекать упрямые ответы и спам. Вместо этого опишите проблему и то, что было сделано до сих пор, чтобы ее решить. * –

+0

Однако ответ на ваши вопросы: * Да *, * Да *, * Нет * –

+0

Теперь это должно быть лучше :) –

ответ

2

По цветной плоскости, замените пиксель на (X, Y) на пиксель на (X-1, Y+3), например. (Разумеется, ваши смены будут разными).

Вы можете сделать это на месте, заботясь о петле, увеличивая или уменьшая координаты, чтобы избежать перезаписи.

О прозрачности не нужно беспокоиться.