我试图从带有白色背景和单色(RED)图形的JPEG图像中获取像素。理想情况下,它应返回RGB值,如R = 255,G = 0和B = 0。然而,它没有返回那些并返回一些奇怪的值。
样本测试图像可以在下面的路径中找到。它是BMP,但在上传期间由托管网站转换为PNG: http://img546.imageshack.us/img546/9727/71rb.png
以下是代码段:
IplImage* org = NULL;
org = cvLoadImage("abc.bmp", CV_LOAD_IMAGE_UNCHANGED);
double red, green, blue;
int newX=241, newY=99;
CvScalar current_pixel = cvGet2D(org, newX, newY);
blue = current_pixel.val[0];
green = current_pixel.val[1];
red = current_pixel.val[2];
//打印像素值,结果为红色= 255,绿色= 255,蓝色= 255,不正确。
请帮忙,让我知道这种方法有什么问题。
提前致谢...