OpenCV编程注意事项

OpenCV编程注意事项

1、图片格式

OpenCV读取彩色图是是BGR格式,可以通过以下函数来转换:

#python
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
//c++
cvtColor(rgb_img, bgr_img, CV_BGR2RGB);

2、坐标系

在这里插入图片描述
OpenCV中图像的左上角为坐标系的原点,这种坐标系在结构体Mat,Rect,Point中都是适用的。
OpenCV中坐标体系的X轴为图像矩形的上面那条水平线,从左往右;Y轴为图像矩形左边的那条垂直线,从上往下(参见上图)。
用image.at<TP>(m, n)来访问图像中点的值的时候,m表示的是y值,即第几行(rows),而n表示的是x值,即第几列(cols)
Point(x,y)Rect(x,y)中,第一个参数x代表的是元素所在图像的列数,第二个参数y代表的是元素所在图像的行数,

    row == height == Point.y
    
    col == width == Point.x   

2、Mat类的初始化

1、Mat src(3,5,CV_32FC1, 1)或者Mat src(3, 5, CV_32FC1, Scalar(1))。初始化一个三行五列的矩阵,并且初始化其值为1。
2、Mat m(3, 5, CV_32FC2, Scalar(1, 2)); 与上一个的区别在于图像格式不同 CV_32FC2 他是两个通道,所以赋值是给两个值。对于三通道自然就不必再说了。
3、

Rect rect1(0, 0, int(src.cols / 6), int(src.rows / 2));
 Mat src1 = src_gray(rect1);

src1 截取src_gray 的一部分初始化自己。 事实上,src1是对src_gray的那部分的引用。对应的操作会转移到原图身上。需要知道这一点。如果要进行指定区域的复制 则应该

Mat src1 =src_gray(rect1).clone();
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值