OpenCV实现任意大小图片的合并
2016-11-09 20:21
337 查看
OpenCV实现图像合并主要有两种方法
方法一:使用Mat.push_back方法将列数相同的图像加到最后一行
方法二: 主要思路是将图像拷贝到待合并图像的感兴趣区域
(1)新建一个要合并的图像(容器)
(2)在新建合并图像中设置感兴趣区域
(3)将待拷贝图像拷贝到感性趣区域中
示例代码:
示例代码:
最后上两张合并后的图片
方法1合成效果如图
方法2合成效果如图
方法一:使用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 0; } //push_back 方法将图像2拷贝到图像1的最后一行 Mat img_merge; img_merge.push_back(image1); img_merge.push_back(image2); namedWindow("img_merge", 0); imshow("img_merge", img_merge); waitKey(); return 0; }
法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 0; } //1.新建一个要合并的图像 Mat img_merge; Size size(image1.cols + image2.cols, MAX(image1.rows, image1.rows)); img_merge.create(size, CV_MAKETYPE(image1.depth(), 3)); img_merge = Scalar::all(0); Mat outImg_left, outImg_right; //2.在新建合并图像中设置感兴趣区域 outImg_left = img_merge(Rect(0, 0, image1.cols, image1.rows)); outImg_right = img_merge(Rect(image1.cols, 0, image1.cols, image1.rows)); //3.将待拷贝图像拷贝到感性趣区域中 image1.copyTo(outImg_left); image2.copyTo(outImg_right); namedWindow("image1", 0); imshow("image1", img_merge); waitKey(); return 0; }
最后上两张合并后的图片
方法1合成效果如图
方法2合成效果如图
相关文章推荐
- ASP.NET实现自适应图片大小的弹出窗口(窗口可任意编辑)
- opencv中实现两幅不同尺寸大小图片的相加
- javacpp-opencv图像处理之2:实时视频添加图片水印,实现不同大小图片叠加,图像透明度控制,文字和图片双水印
- ASP.NET实现自适应图片大小的弹出窗口(窗口可任意编辑)
- OpenCV实现将三幅图像合并在一张图片
- OpenCV: 实现将三幅图像合并在一张图片
- ASP.NET实现自适应图片大小的弹出窗口(窗口可任意编辑)
- ASP.NET实现自适应图片大小的弹出窗口(窗口可任意编辑)
- ASP.NET实现自适应图片大小的弹出窗口(窗口可任意编辑)
- OpenCV: 实现将三幅图像合并在一张图片
- Xfermode 实现原图中任意抠出区域,合并区域图片的功能
- ASP.NET实现自适应图片大小的弹出窗口(窗口可任意编辑)
- ASP.NET实现自适应图片大小的弹出窗口(窗口可任意编辑)
- OpenCV实现将三幅图像合并在一张图片
- ASP.NET实现自适应图片大小的弹出窗口(窗口可任意编辑)
- ASP.NET实现自适应图片大小的弹出窗口(窗口可任意编辑)
- ASP.NET实现自适应图片大小的弹出窗口(窗口可任意编辑)
- opencv两张同大小图片合并重叠
- javacpp-opencv图像处理之2:实时视频添加图片水印,实现不同大小图片叠加,图像透明度控制,文字和图片双水印
- javacpp-opencv图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体、位置、大小、粗度、翻转、平滑等操作