使用Img.at <cv :: vec3 ???>获取无符号短值

时间:2016-01-09 10:09:55

标签: c++ opencv

我正在为我的一个班级开发一个高动态范围算法。我使用OpenCV时遇到了问题。

我有16位原始图像,我正在尝试使用

显示此图像中的值
image.at<cv::Vec3s>(y,x)[0];

但是我得到了负值。我也使用CV_16UC3矩阵,所以一定是错的。

有没有办法获得unsigned short价值?

1 个答案:

答案 0 :(得分:2)

要从CV_16UC3图片中读取值,您应该使用Vec3w,它是3 unsigned short的向量:

typedef Vec<ushort, 3> Vec3w;

您还可以使用Mat3w(又名Mat_<Vec3w>)并访问不带.at<Vec3w>的值,但只能使用括号。