Как изменить цвета в OpenCV Python?

Слева - исходное изображение. Справа- искаженное по цвету изображение. Как мне сделать по цвету левое как правое изображение? введите сюда описание изображения


Ответы (2 шт):

Автор решения: MBo

Если формат RGB и поменяны каналы r и g, как Интик сказал, то:

temp = npimg[:,:,1].copy() 
npimg[:,:,1] = npimg[:,:,0]
npimg[:,:,0] = temp
→ Ссылка
Автор решения: Alex Alex

На самом деле, тут поменяны местами не только r и g каналы. Замена такая: rgb->gbr (проверял в XnView). В OpenCV проще сделать как-то так:

b,g,r=cv2.split(img)
img2=cv2.merge((r,b,g))

P.S. В общем случае можно преобразовать в HSV , циклически сдвинуть канал H и преобразовать обратно.

→ Ссылка