【发布时间】:2014-08-23 01:15:29
【问题描述】:
我根本无法理解 opencv Mat 类型:
CV_16UC3 是众所周知的无符号 16 位 3 通道整数。但是,当我访问每个频道时,我会得到负值。根据How should I name my RGB channels, using cv::Mat_vec3s 是访问的关键字。这是我所做的:
Mat mat_l(img_height,img_width,CV_16UC3);
mat_l = imread("/home/zhao/workspace/rectified_images/l_rectified_fountain.ppm");
cout << vec_mats_l[1].at<Vec3s>(44,500)[0] << " "
<< vec_mats_l[1].at<Vec3s>(44,500)[1] << " "
<< vec_mats_l[1].at<Vec3s>(44,500)[2] << endl;
输出为:27522 -32382 -32407
为什么尽管类型被定义为无符号的负值???
【问题讨论】: