我正在寻找一种方法来访问cv :: Mat对象中灰度像素的值,我能够找到很多答案,我确信它们有效,但对我来说它们只是没有.基本上我所拥有的是以下内容:
gray_image = imread("myimage.png", CV_LOAD_IMAGE_GRAYSCALE);
equalizeHist(gray_image, eq_image);
// This line prints garbage
const unsigned char* row = eq_image.ptr<unsigned char>(10);
cout << row[10] << endl;
// This line also prints garbage
cout << eq_image.at<uchar>(10, 10) << endl;
Run Code Online (Sandbox Code Playgroud)
我只是想在位置(10,10)看到像素的灰度[0,255]值.我很确定这两行可以用于其他人,但不适合我,也许这是一个Linux的东西.
如何读取灰度整数中的cv :: Mat像素?
谢谢,
该值打印为ASCII字符,这取决于实际值可能是不可打印的垃圾.如果您有兴趣将像素值打印为整数,则需要将值转换为a int来获取另一个运算符<< overload:
cout << static_cast<int>(row[10]) << endl;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
419 次 |
| 最近记录: |