Opencv简单编程--Mat图像作为函数参数

Opencv经过一次重大改变,就是从C到C++,其中的一概念也改变,特别是一些函数名变了,图像类型变了等。

网海中搜索到的很多是旧版本即重大改变前的例程,误导了我几次。

当把图像作为函数的参数时,用Mat类型是很简单的:

void test_mat_in_and_out(Mat &mat_in, Mat &mat_out)
{
    Mat img_gray;  
    GaussianBlur(mat_in,img_gray,Size(3,3),0,0,BORDER_DEFAULT);
    cvtColor(img_gray,img_gray,CV_RGB2GRAY);​​
    ma_out = img_gray;​
}​​​

用InputArray​​​与OutputArray相对就不容易理解,如:

​void test_mat_in_and_out(InputArra ia_in, OutputArra oa_out)
{
    Mat mat_in=ia_in.getMat();​ 
    Mat img_gray;  
    ​GaussianBlur(mat_in,img_gray,Size(3,3),0,0,BORDER_DEFAULT);
    cvtColor(img_gray,img_gray,CV_RGB2GRAY);
    img_gray.copyTo(oa_out);​
}​​

无疑,用新版本的Mat类型更简单。​​

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值