У меня есть 3-канальный IplImage. Я хотел бы создать 4-канальное изображение и установить для него альфа-канал на значение меньше 1,0, чтобы сделать его полупрозрачным.
Сначала я установил альфа-канал (4-й канал) на 0,5:
cvSet(Image_c4, cvScalar(0,0,0,0.5);
Вот команда, которую я использовал для копирования 3-канального изображения в 4-канальное изображение.
cvCvtColor(Image_c3, Image_c4, CV_RGB2RGBA);
Проблема: изображение_c3 в цвете. Image_c4 становится серой копией Image_c3 (и без прозрачности).
Обновление :
Оказалось, что приведенный выше код на самом деле является правильным и работает и на самом деле является более кратким, чем предложенные решения в ответах ниже. У меня была не связанная ошибка где-то еще.