Как объединить несколько (более 4) изображений `CV :: Mat`` Размер (M, N), CV_8UC1` в одно изображение RGBA? - PullRequest
0 голосов
/ 16 ноября 2011

Итак, мы создали много (скажем, 100) Mat::zeros(Size(100, 100), CV_8UC1); двоичных изображений (со значениями 0 или 255). Мы заполнили их некоторыми данными (которые могут накладываться на разные изображения). Теперь мы хотим объединить их в одно сохраняемое изображение RGBA, на котором все данные каждого отдельного Mat будут представлены уникальным значением RGB и альфа == 0,5. Как это сделать с openCV 2?

1 Ответ

0 голосов
/ 16 ноября 2011

К сожалению, openCV не поддерживает альфа-канал, и я не думаю, что какие-либо из его файловых библиотек ввода-вывода поддерживают прозрачность в любом из форматов, которые его обрабатывают (например, PNG)

"С помощью этой функции можно сохранить только 8-битные (или 16-битные в случае PNG, JPEG 2000 и TIFF) одноканальные или 3-канальные (с порядком канала 'BGR') изображения" http://opencv.willowgarage.com/documentation/cpp/reading_and_writing_images_and_video.html#cv-imwrite

Вы можете создать 4-канальный формат изображения, используя CV_8UC4, и самостоятельно управлять альфой, но вы не сможете читать / писать его, используя imread / imwrite

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