OpenCV图像拼接函数vconcat()&hconcat()

时间:2022-07-24
本文章向大家介绍OpenCV图像拼接函数vconcat()&hconcat(),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

OpenCV图像直接拼接方法下面链接已做介绍,OpenCV常用图像拼接方法(一) :直接拼接 ,只是这次我们将使用现成的函数实现,它们是vconcat()和hconcat(),当然也有一些细微差异。

vconcat()---垂直方向拼接,要求待拼接图像有相同的宽度;

hconcat()---水平方向拼接,要求待拼接图像有相同的高度。

这里的区别可以明显看出,上次介绍的直接拼接方法是自定义最终拼接图像的大小,所以对待拼接图像的尺寸没有要求。但是使用vconcat()和hconcat()拼接则要求待拼接图像有相同的宽度或高度。两种方法对于相同的待拼接图像,耗时差异不大(笔者做过对比),所以如果你的待拼接图像宽度或高度满足要求时,可以直接使用vconcat()和hconcat(),既简单又方便。

C++ OpenCV Demo实例如下:


#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
 
int main()
{
  Mat img = imread("1.jpg");    
  vector<Mat>vImgs;
  Mat result;
  vImgs.push_back(img);
  vImgs.push_back(img);
  vImgs.push_back(img);
  vconcat(vImgs, result); //垂直方向拼接
  //hconcat(vImgs, result); //水平方向拼接
  imwrite("result.jpg", result);
  return 0;
}   

拼接结果: