我想从已经纠正的opencv中的黑白图像中返回值。我使用.type()
查看如何解决image.at<>(point())
。它回复了0
,所以我放入了image.at<int>()
。
但它所回馈的只是数百万的数字,而不是我的期望; 0
和255
之间的内容。
我使用.channel()
来检查频道数量;这是1,所以我认为应该没问题。
我可能做错了什么?
答案 0 :(得分:2)
“它返回0,所以我放入了image.at<int>()
。”
type == 0&lt; - &gt;那是uchar,而不是int。
尝试:
mat.at<uchar>(row,col);
代替
答案 1 :(得分:1)
如果您的数据为unsigned char
,则将像素编入索引为img.at<uchar>(row,col)
答案 2 :(得分:0)
也许您应该先尝试将其标准化为0到255之间的值?使用cv::normalize,alpha = 0和beta = 255。