png格式的图片除了能展现出各种各样的色彩外,还能表现出“透明”的特点,这是因为这种格式的图片除了含有我们常见的RGB三个颜色通道外,还有一个A通道来控制图片的透明效果。使用openCV可以方便的查看各种格式图片各个通道的值,思路如下:
- 首先,我们需要加载一幅图片;
- 为了能够查看这个图片上每个像素点各个通道的数值,我们可以通过鼠标点击的方式来选择像素点,然后读取这个像素点各通道的数值,并显示出来;
- 为了判断显示是否正确,还可以新建一幅图片,用所选择像素点的颜色填充,判断这幅图片的颜色是否是我们选择的颜色。
代码如下:
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
IplImage *src;
IplImage *show;
void mouseHandler(int event, int x, int y, int flags, void *param);
int main()
{
char *picture = "D:\\test\\2\\2.png";
if((src = cvLoadImage(picture,CV_LOAD_IMAGE_UNCHANGED))