Android - Opencv Как сохранить черно-белый мат в прозрачном PNG

Привет я занимаюсь разработкой приложения для Android, которое использует библиотеку opencv. У меня есть черно-белый коврик, который включает в себя только 0,0 и 255,0 внутри. Я хочу преобразовать этот мат в файл PNG, где все белые пиксели прозрачны.
Как я могу это сделать?

1 ответ

Вы можете ссылаться ниже на код C++,

 Mat alpha = imread("a.jpg",0); //Load input image as gray scale will be alpha channel
 Mat b(alpha.size(),CV_8UC1,Scalar(0)); // create b channel
 Mat g(alpha.size(),CV_8UC1,Scalar(0)); // create g channel
 Mat r(alpha.size(),CV_8UC1,Scalar(0)); // create r channel

 Mat all_channel[4] = {b,g,r,alpha}; //create an array of mat, here the channel order is BGRA
 Mat dst; //ourput mat
 merge(all_channel,4,dst); // merge to get the final result
 imwrite("alp.png",dst); // write in png format to preserve alpha
Другие вопросы по тегам