Как мне преобразовать изображение, прочитанное с помощью cv2.imread ('img.png', cv2.IMREAD_UNCHANGED) в формат cv2.imread ('img.png', cv2.IMREAD_COLOR) - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь прочитать изображение в неизменном формате, выполнить некоторые операции и преобразовать его обратно в цветной формат

im = cv2.imread(fname,cv2.IMREAD_UNCHANGED) # shape(240,240,4)
....
im2 = cv2.imread(im,cv2.IMREAD_COLOR) # required shape(240,240,3)

Но, похоже, я не могу ввести результат первого массива numpy во второй imread. Поэтому в настоящее время я создал временное изображение после операций и прочитал это значение, чтобы получить требуемое значение im2.

im = cv2.imread(fname,cv2.IMREAD_UNCHANGED) # shape(240,240,4)
....
cv2.imwrite('img.png',im)
im2 = cv2.imread('img.png',cv2.IMREAD_COLOR) # required shape(240,240,3)

Однако я бы хотел избежать шага создания временного изображения. Как бы я достиг того же с лучшим подходом

1 Ответ

0 голосов
/ 04 июля 2018

OpenCV имеет функцию для преобразования цвета cvtColor

https://docs.opencv.org/3.1.0/de/d25/imgproc_color_conversions.html

im2 = cv2.cvtColor(im, <conversion code>)

Вы должны сами определить код конверсии, исходя из имеющегося у вас формата изображения. Вероятно, это будет cv2.COLOR_BGRA2BGR

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...