Opencv - Mat::at()

at() 访问图片像素值的时候,坐标要注意不要弄反了!

  • Mat::at(x0, y0),中,x0 表示的是图片的行索引, y0表示的是列索引;第0行为图片最上面一行,第0列为最左边一列;
  • Rect.x 表示的是以左上角为原点的坐标值,最上面一行表示X轴,最左边一列为Y轴,实际上为列索引Rect.y 则为行索引
  • 例如:Mat a = b(Range(), Range()); 中,第一个 Range 表示行区间,第二个表示列区间

以下这段代码的执行结果及其是这样的

	Mat test00 = Mat::zeros(5, 10, CV_8UC1);
	test00.at<uchar>(0, 0) = 255;
	test00.at<uchar>(0, 9) = 255;
	test00.at<uchar>(4, 9) = 255;
	test00.at<uchar>(4, 0) = 255;

Opencv - Mat::at()_第1张图片

你可能感兴趣的:(OpenCV)