OpenCV操作PNG格式图像

        PNG图像相比RGB图像最大的优势在于可以增加一个alpha通道表示透明度,老版本的OpenCV(2.3之前)无法直接读取alpha通道,需要修改源代码。

        OpenCV2.3之后,可以用简单的CV_LOAD_IMAGE_UNCHANGED选项来加载图像。

        IplImage* testPNG = cvLoadImage("test.png", CV_LOAD_IMAGE_UNCHANGED);

        这时候通过查询testPNG的nChannels来确定是否包含alpha通道,如果channels数目等于4,则表明成功读取了alpha通道,通道的顺序是BGR-alpha.

        通过cvConvertImage函数可以将RGB-alpha图像转为RGB三通道图像或者获取alpha通道掩模,选项为CV_RGBA2RGB和CV_RGBA2GRAY。

你可能感兴趣的:(OpenCV操作PNG格式图像)