【问题标题】:Android - Opencv How to save black&white Mat to transparent PNGAndroid - Opencv如何将黑白垫保存为透明PNG
【发布时间】:2014-08-09 17:55:28
【问题描述】:

您好,我正在开发一个使用 opencv 库的 Android 应用程序。我有一个黑白垫,里面只有 0.0 和 255.0。我想将该 Mat 转换为所有白色像素都是透明的 PNG 文件。
我该怎么做?

【问题讨论】:

    标签: android opencv png transparent mat


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-10
      • 2018-07-26
      • 2015-03-30
      • 2013-10-24
      • 2015-04-17
      • 1970-01-01
      • 2011-06-11
      • 2019-08-24
      相关资源
      最近更新 更多