【OpenCV 4开发详解】图像连接

本文首发于 “小白学视觉”微信公众号,欢迎关注公众号
本文作者为小白,版权归 人民邮电出版社发行所有,禁止转载,侵权必究!

经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍《OpenCV 4开发详解》。为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通,提前在公众号上连载部分内容,请持续关注小白。

图像连接是指将两个具有相同高度或者宽度的图像连接在一起,图像的下(左)边缘是另一个图像的上(右)边缘。图像连接常用在需要对两张图像内容进行对比或者内容中存在对应信息时显示对应关系时使用,例如使用线段连接两张图像中相同的像素点时就需要首先将两张图像组成一张新的图像再连接相同的区域。

OpenCV 4中针对图像左右连接和上下连接两种方式提供了两个不同的函数,vconcat()函数用于实现图像或者矩阵数据的上下连接,该函数可以连接存放在数组变量中的多个Mat类型的数据,也可以直接连接两个Mat类型的数据,这两种连接方式的函数原型在代码清单3-22和代码清单3-23中给出。

代码清单3-22 vconcat()函数原型1
1.	void cv::vconcat(const Mat *  src,
2.	                    size_t  nsrc,
3.	                    OutputArray  dst 
4.	                    )
  • src:Mat矩阵类型的数组
  • nsrc:数组中Mat类型个数目
  • dst:连接后的Mat类矩阵

该函数对存放在数组矩阵中的Mat类型数据进行纵向连接。第一个参数是存放多个Mat类型数据的数组,要求数组中所有的Mat类型具有相同的列数并且具有相同的数据类型和通道数。第二个参数是数组中含有的Mat类型数据的数目,最后一个参数是拼接后输出的结果,结果的宽度与第一个Mat类型数据相同,高度为数组中所有Mat类型数据高度的总和,并且与第一个Mat类型数据具有相同的数据类型和通道数。

代码清单3-23 vconcat()函数原型2
1.	void cv::vconcat(InputArray  src1,
2.	                    InputArray  src2,
3.	                    OutputArray  dst 
4.	                    )
  • src1:第一个需要连接的Mat类矩阵。
  • src2:第二个需要连接的Mat类矩阵,与第一个参数具有相同的宽度、数据类型和通道数。
  • dst:连接后的Mat类矩阵。

该函数直接对两个Mat类型的数据进行竖向连接。前两个参数分别是需要连接的两个Mat类型变量,两者需要具有相同的宽度、数据类型以及通道数,第三个参数是连接后的输出结果,在拼接结果中第一个参数在上方,第二个参数在下方。

hconcat()函数用于实现图像或者矩阵数据的左右连接,与vconcat()函数类似,该函数既可以连接存放在数组变量中的多个Mat类型的数据,也可以直接连接两个Mat类型的数据,这两种连接方式的函数原型在代码清单3-24和代码清单3-25中给出。

代码清单3-24 hconcat()函数原型1
1.	void cv::hconcat(const Mat *  src,
2.	                    size_t  nsrc,
3.	                    OutputArray  dst 
4.	                    )
  • src:Mat矩阵类型的数组。
  • nsrc:数组中Mat类型个数目。
  • dst:连接后的Mat类矩阵。

该函数对存放在数组矩阵中的Mat类型数据进行横向连接。函数中所有参数的含义与代码清单3-22中的参数含义相同,这里不再赘述。但是需要注意的是该函数要求第一个参数数组中所有的Mat类型变量具有相同的高度、数据类型和通道数,不然无法进行横向连接。

代码清单3-25 hconcat
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白学视觉

您的赞赏是我们坚持下去的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值