2013-05-25 78 views
0

我想返回已经纠正的opencv中黑白图像的值。我使用.type()来了解如何解决image.at<>(point())。它给了0所以我把image.at<int>()访问图像像素值

但它给出的所有数字都是数百万的数量,而不是我所期望的;介于0255之间的内容。

我用.channel()来检查通道的数量;这是1,所以我认为应该没问题。

我一直在做什么错了?

回答

0

也许你应该尝试将它标准化为0到255之间的值吗?使用cv::normalize,alpha = 0和beta = 255。

2

“它给了我0,所以我放入image.at<int>()。”

类型== 0 < - >这是uchar,不是int。

尝试:

mat.at<uchar>(row,col); 

代替

1

如果你的数据是unsigned char那么指数像素作为img.at<uchar>(row,col)

+0

感谢。我把它归类为漂浮物,因为uchar似乎不适合我;规范化(图像,dst,0,255,NORM_MINMAX,CV_32F)。 – Moeltiepas