OpenCV实现图像合并主要有两种方法 
方法一:使用Mat.push_back方法将列数相同的图像加到最后一行 
方法二: 主要思路是将图像拷贝到待合并图像的感兴趣区域 
(1)新建一个要合并的图像(容器) 
(2)在新建合并图像中设置感兴趣区域 
(3)将待拷贝图像拷贝到感性趣区域中

法1.使用Mat.push_back方法将列数相同的图像加到最后一行

注意此方法只能将图像合并到底部 
示例代码:

#include<cv.h>
#include<highgui.h>
using namespace cv; int main()
{
Mat image1=imread("1.jpg");
Mat image2=imread("2.jpg");
if (image1.empty() || image2.empty())
{
printf("open error");
return ;
}
//push_back 方法将图像2拷贝到图像1的最后一行
Mat img_merge;
img_merge.push_back(image1);
img_merge.push_back(image2); namedWindow("img_merge", );
imshow("img_merge", img_merge); waitKey();
return ;
}

法2.将图像拷贝到待合并图像的感兴趣区域

此方法可以将图像拷贝到任意区域,位置由感兴趣区域决定 
示例代码:

#include<cv.h>
#include<highgui.h>
using namespace cv; int main()
{
Mat image1=imread("1.jpg");
Mat image2=imread("2.jpg");
if (image1.empty() || image2.empty())
{
printf("open error");
return ;
}
//1.新建一个要合并的图像
Mat img_merge;
Size size(image1.cols + image2.cols, MAX(image1.rows, image1.rows));
img_merge.create(size, CV_MAKETYPE(image1.depth(), ));
img_merge = Scalar::all();
Mat outImg_left, outImg_right;
//2.在新建合并图像中设置感兴趣区域
outImg_left = img_merge(Rect(, , image1.cols, image1.rows));
outImg_right = img_merge(Rect(image1.cols, , image1.cols, image1.rows));
//3.将待拷贝图像拷贝到感性趣区域中
image1.copyTo(outImg_left);
image2.copyTo(outImg_right);
namedWindow("image1", );
imshow("image1", img_merge);
waitKey();
return ;
}

最后上两张合并后的图片 
方法1合成效果如图 
 
方法2合成效果如图 

转自:https://blog.csdn.net/ktigerhero3/article/details/53105372

最新文章

  1. React Native开发之npm start加速
  2. HDU 5059 Harry And Biological Teacher
  3. Android CardView设置成普通的Framelayout
  4. android:scaleType属性
  5. HDU 2147 kiki&#39;s game (简单博弈,找规律)
  6. ems lite 客户端远程连接mysql server
  7. ZOJ3629 Treasure Hunt IV(找到规律,按公式)
  8. Makefile.am编写规则
  9. dom4j操作xml文档
  10. MATLAB入门笔记
  11. Java继承(上)
  12. Zookeeper基本数据模型
  13. QT中的一些信号
  14. [转]DevOps解决方案-腾讯云
  15. 分布式监控工具Ganglia 介绍 与 集群部署.
  16. c++ template&lt;typename T&gt;
  17. Django之图书管理系统
  18. algorithm ch6 priority queque
  19. EasyNVR无插件直播流媒体服务器云端集中管控的EasyNVS云管理平台安装使用文档
  20. AC日记——Little Elephant and Array codeforces 221d

热门文章

  1. JQuery攻略(三)数组与字符串
  2. JQuery攻略(一) 基础知识——选择器 与 DOM
  3. Android之针对WebView的全屏播放
  4. 《SEO教程:搜索引擎优化入门与进阶(第3版)》
  5. LINQ to XML 建立,读取,增,删,改
  6. PHP获取指定函数定义在哪个文件中及行号
  7. JUnit - 测试框架
  8. kafak-python使用补充
  9. var this.value 可在任意地方 声明 类成员变量。如果可以利用在C++ 那该有多好啊
  10. 【手机网络游戏 编程】C#异步socketAPI调用 处理数据的流程