opencv提取Mat中的某些行和列

原始Mat格式数据:

cv::Mat A = Mat::zeros(4, 5, CV_32F);【4行5列,高4宽5】

1、提取行

函数:Mat::rowRange(int startrow, int endrow)

例:提取第0~2行(包括第2行)

cv::Mat B = A.rowRange(0, 3).clone() ;

 

2、提取列

函数:Mat::colRange(int startcol, int endcol)

例:提取第2~4列(包括第4列)

cv::Mat C = A.colRange(2, 5).clone() ;

 

注意,rowRange(start,end)与colRange(start,end)均包括左边界,不包括右边界。

 

3、copyTo()函数

Mat c = Mat::zeros(3, 5, CV_32F);

Mat a = Mat::ones(3, 6, CV_32F);

1)将c的第1列赋值给a

c.col(0).copyTo(a.col(0));

2)将c的1-5列赋值给a

c.copyTo(a.colRange(1, 6));

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值