0

我想从已经纠正的opencv中的黑白图像中返回值。我.type()以前看怎么解决image.at<>(point())。它回馈了0,所以我投入了image.at<int>().

但它所返回的只是数百万数量级的数字,而不是我所期望的;0和之间的东西255

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

我可能做错了什么?

4

3 回答 3

2

“它返回 0,所以我输入了image.at<int>()。”

type==0 <--> 那是 uchar,不是 int。

尝试:

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

反而

于 2013-05-25T20:33:39.550 回答
1

如果您的数据是unsigned char索引像素,则为img.at<uchar>(row,col)

于 2013-05-25T20:34:06.273 回答
0

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

于 2013-05-25T20:31:07.457 回答