02|opencv 中图像的坐标系

【02|opencv 中图像的坐标系】最近遇到图像的各种操作,有个点一直和MATLAB中的图像有点混了,特做个标记
一、图像坐标系 02|opencv 中图像的坐标系
文章图片
Mat image = imread("aaa.bmp");
imshow("aaa",image);
Mat img;
img = image(Rect(200, 0, 160, 90));
imshow("bbb",img); 02|opencv 中图像的坐标系
文章图片

02|opencv 中图像的坐标系
文章图片



注意:坐标体系中的零点坐标为图片的左上角,X轴为图像矩形的上面那条水平线;Y轴为图像矩形左边的那条垂直线。该坐标体系在诸如结构体Mat,Rect,Point中都是适用的。


二、彩色图像存储顺序 matlab: 以RGB为顺序 获取R通道:img = image(:,:, 1); 获取G 通道:img = image(:,:,2 ); 获取B 通道:img = image(:,:,3 ); opencv:以BGR为顺序 获取各通道图像可以使用split()函数进行通道分离

split(image, channels); blurImg = channels.at(0); greenImg = channels.at(1); redImg = channels.at(2);


三、数据的读取 在使用image.at(x1, x2)来访问图像中点的值的时候,x1并不是图片中对应点的x轴坐标,而是图片中对应点的y坐标。因此其访问的结果其实是访问image图像中的Point(x2, x1)点,即与image.at(Point(x2, x1))效果相同。
// Mark 一下,待续

    推荐阅读