我正在为我的一个班级开发一个高动态范围算法。我使用OpenCV时遇到了问题。
我有16位原始图像,我正在尝试使用
显示此图像中的值image.at<cv::Vec3s>(y,x)[0];
但是我得到了负值。我也使用CV_16UC3
矩阵,所以一定是错的。
有没有办法获得unsigned short
价值?
答案 0 :(得分:2)
要从CV_16UC3
图片中读取值,您应该使用Vec3w
,它是3 unsigned short
的向量:
typedef Vec<ushort, 3> Vec3w;
您还可以使用Mat3w
(又名Mat_<Vec3w>
)并访问不带.at<Vec3w>
的值,但只能使用括号。