【发布时间】:2016-01-09 10:09:54
【问题描述】:
我目前正在为我的一个班级研究高动态范围算法。我在使用 OpenCV 时遇到了问题。
我有一个 16 位原始图像,我正在尝试使用
显示该图像中的值image.at<cv::Vec3s>(y,x)[0];
但我得到的是负值。我也使用CV_16UC3 矩阵,所以一定有问题。
有没有办法获得unsigned short 值?
【问题讨论】:
我目前正在为我的一个班级研究高动态范围算法。我在使用 OpenCV 时遇到了问题。
我有一个 16 位原始图像,我正在尝试使用
显示该图像中的值image.at<cv::Vec3s>(y,x)[0];
但我得到的是负值。我也使用CV_16UC3 矩阵,所以一定有问题。
有没有办法获得unsigned short 值?
【问题讨论】:
要从CV_16UC3 图像中读取值,您应该使用Vec3w,它是3 个unsigned short 的向量:
typedef Vec<ushort, 3> Vec3w;
您还可以使用Mat3w(又名Mat_<Vec3w>)并访问没有.at<Vec3w> 的值,但只能使用括号。
【讨论】: