opencv: как изменить уровень прозрачности изображения

#opencv #transparency #alpha

#opencv #прозрачность #альфа

Вопрос:

Возможно ли изменить уровень прозрачности IplImage (канала alhpa)? Я могу сделать это с помощью cvSet и присвоить всем значениям значение cvScalar, но это изменило бы не только альфа-канал, но и фактические каналы RGB.

спасибо за помощь.

Ответ №1:

Вы можете добавить скаляр к изображению RGBA с помощью cvAddS:

 void cvAddS(const CvArr* src, CvScalar value, CvArr* dst, const CvArr* mask=NULL)
  

Для увеличения только альфа-канала изображения вы могли бы использовать, например, cvScalar(0,0,0,30).
Это увеличит альфа-значение на 30.
Таким же образом cvSubS можно применить для вычитания скаляра.