博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
合并多个cv::Mat类型,即合并多个图片的接口
阅读量:6120 次
发布时间:2019-06-21

本文共 1272 字,大约阅读时间需要 4 分钟。

1、
cv::Mat get_merage_image(cv::Mat cur_frame)
{
cv::Mat image_one=cur_frame;
cv::Mat image_two=cur_frame;
//创建连接后存入的图像,两幅图像按左右排列,所以列数+1
cv::Mat img_merge(image_one.rows,image_one.cols+
image_two.cols+1,image_one.type());
//图像拷贝,不能用Mat中的clone和copyTo函数,单幅图像拷贝可用,clone和copyTo不仅拷贝图像数据,还拷贝一///些其他的信息
//而现在是将两幅图像的数据拷贝到一副图像中,只拷贝图像数据
//因此用colRange来访问图像的列数据colRange第一参数是起始列,是从0开始索引,而第二个参数是结束列,
//从1开始索引,与我们以前使用的不同,因此,参数分别为0和image_one.cols
image_one.colRange(0,image_one.cols).
copyTo(img_merge.colRange(0,image_one.cols));
//第二幅图像拷贝,中间的一行作为两幅图像的分割线
image_two.colRange(0,image_two.cols).copyTo(
img_merge.colRange(image_one.cols+1,img_merge.cols));
return img_merge;
}
2、
cv::Mat get_merage_image2(cv::Mat cur_frame)
{
cv::Mat img_merge;
cv::Size size(cur_frame.cols + cur_frame.cols, MAX(cur_frame.rows, cur_frame.rows));
img_merge.create(size, CV_MAKETYPE(cur_frame.depth(), 3));
img_merge = cv::Scalar::all(0);
cv::Mat outImg_left, outImg_right;
//2.在新建合并图像中设置感兴趣区域
outImg_left = img_merge(cv::Rect(0, 0, cur_frame.cols, cur_frame.rows));
outImg_right = img_merge(cv::Rect(cur_frame.cols, 0, cur_frame.cols, cur_frame.rows));
//3.将待拷贝图像拷贝到感性趣区域中
cur_frame.copyTo(outImg_left);
cur_frame.copyTo(outImg_right);
return img_merge;
}
 

转载于:https://www.cnblogs.com/llfctt/p/9138488.html

你可能感兴趣的文章
Unix/Linux下删除Oracle控制文件Controlfile为什么实例Instance没有立即奔溃?
查看>>
泄露门年终盘点:***用户网站间的“罗生门”
查看>>
linux:yum和apt-get的区别
查看>>
Sentinel 1.5.0 正式发布,引入 Reactive 支持
查看>>
如何对网站进行归档
查看>>
数据库之MySQL
查看>>
2019/1/15 批量删除数据库相关数据
查看>>
数据类型的一些方法
查看>>
Mindjet MindManager 2019使用教程:
查看>>
游戏设计的基本构成要素有哪些?
查看>>
详解 CSS 绝对定位
查看>>
AOP
查看>>
我的友情链接
查看>>
打印服务自动停止
查看>>
linux--ab压力测试详解
查看>>
C++模板之typename和class关键字的区别
查看>>
Nginx 代理 jira 和 confluence
查看>>
图形界面
查看>>
java生成UUID
查看>>
[Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.4.6
查看>>