【发布时间】:2025-11-27 23:25:01
【问题描述】:
我有 c++ 和 OpenCV 3.1,我用这些代码分隔了 RGB 三个通道:
Mat src = imread("original_image.jpg",CV_LOAD_IMAGE_COLOR);
Mat bgr[3] , bluemat ;
split(src,bgr);
bluemat = bgr[0];
std::cout << "bluemat.at<int>(0,1); : " << bluemat.at<int>(0,1) << '\n';
奇怪的是它打印出一个大数字:1415208581,这是为什么呢?
不是应该在 0-255 范围内吗?为什么不是?
【问题讨论】:
-
您要求 c++ 从该像素开始打印 int(32/64 位)的值,而不是无符号字符
-
@MartinBeckett,我如何打印实际数字?
-
.at