OPenCV版本:4.4

IDE:VS2019

功能描述

对给定的矩阵应用进行垂直连接

函数垂直连接两个或更多的cv::Mat矩阵 (具有相同的列数).

函数原型1

CV_EXPORTS void vconcat(const Mat* src, size_t nsrc, OutputArray dst);

参数描述

  • @参数 src 输入矩阵或矩阵向量.所有的矩阵必须具有相同的列数和相同的深度。
  • @参数 nsrc src中的矩阵个数.
  • @参数 dst 输出矩阵.它和src具有相同的列数和深度。并且行数等于和src具有相同的行数.
  • @参考

​ cv::hconcat(const Mat*, size_t, OutputArray),

​ cv::hconcat(InputArrayOfArrays, OutputArray)

​ cv::hconcat(InputArray, InputArray, OutputArray)

示例代码

cv::Mat matArray[] = { cv::Mat(1, 4, CV_8UC1, cv::Scalar(1)),cv::Mat(1, 4, CV_8UC1, cv::Scalar(2)),cv::Mat(1, 4, CV_8UC1, cv::Scalar(3)),};
cv::Mat out;
cv::vconcat( matArray, 3, out );
//out:
//[1,   1,   1,   1;
// 2,   2,   2,   2;
// 3,   3,   3,   3]

函数原型2

CV_EXPORTS void vconcat(InputArray src1, InputArray src2, OutputArray dst);

参数描述

  • 参数 src1 垂直连接的第一个输入矩阵.
  • 参数 src2 垂直连接的第二个输入矩阵.
  • 参数 dst 输出矩阵. 它和 src1 、src2具有相同的列数和深度,它的行数与src和src2的行数的总和相同。

示例代码

 cv::Mat_<float> A = (cv::Mat_<float>(3, 2) << 1, 7,2, 8,3, 9);cv::Mat_<float> B = (cv::Mat_<float>(3, 2) << 4, 10,5, 11,6, 12);cv::Mat C;cv::vconcat(A, B, C);//C://[1, 7;// 2, 8;// 3, 9;// 4, 10;// 5, 11;// 6, 12]

函数原型3

CV_EXPORTS_W void vconcat(InputArrayOfArrays src, OutputArray dst);

参数描述

  • 参数 src 输入矩阵. 所有的矩阵必须具有相同的列数和深度。

  • 参数 ds t输出矩阵. 和src的列数和深度相同,行数等于src所有矩阵行数的总和.

示例代码

  std::vector<cv::Mat> matrices = { cv::Mat(1, 4, CV_8UC1, cv::Scalar(1)),cv::Mat(1, 4, CV_8UC1, cv::Scalar(2)),cv::Mat(1, 4, CV_8UC1, cv::Scalar(3)),};cv::Mat out;cv::vconcat( matrices, out );//out://[1,   1,   1,   1;// 2,   2,   2,   2;// 3,   3,   3,   3]

源代码示例:

把两张图片垂直连接成一张图片

#include <iostream>
#include <opencv2/opencv.hpp>int main()
{cv::Mat image = cv::imread("d:\\opencvtest\\images\\juice_small.png");cv::Mat image2 = cv::imread("d:\\opencvtest\\images\\juice2_small.png");cv::Mat output;cv::vconcat(image, image2, output);cv::imshow("vcontact", output);cv::waitKey(0);return 0;
}

原图1:
原图2:

运行结果图:

把多张图像垂直连接成一张图片:

#include <iostream>
#include <opencv2/opencv.hpp>
#include <vector>int main()
{cv::Mat image = cv::imread("d:\\opencvtest\\images\\juice_small.png");cv::Mat image2 = cv::imread("d:\\opencvtest\\images\\juice2_small.png");std::vector<cv::Mat> images;images.push_back(image);images.push_back(image2);images.push_back(image);cv::Mat output2;cv::vconcat(images, output2);cv::imshow("vcontact2", output2);cv::waitKey(0);return 0;
}

运行结果:

OpenCV中图像垂直拼接函数vconcat的使用相关推荐

  1. OpenCV中图像水平拼接函数hconcat的使用

    OPenCV版本:4.4 IDE:VS2019 功能描述 对给定的矩阵应用进行水平连接. 函数垂直连接两个或更多的cv::Mat矩阵 (具有相同的行数). 函数原型1 CV_EXPORTS void ...

  2. OpenCV中图像轮廓检测

    OpenCV中图像轮廓检测 通过之前的Canny方法可以得到图像的边界,但是我们无法得到边界的数学信息.所以就有了今天的图像轮廓检测. 在OpenCV中图像轮廓检测的API: findContours ...

  3. openCV中图像滤波之低通滤波

    一.简介 滤波是信号和图像处理中的一种基本操作,目的是选择性提取图像中某些方面的内容,例如,滤波可以去除图像中的噪声,提取有用的视觉特征,对图像进行重采样等.下面介绍几个有关滤波的重要概念: 一幅图像 ...

  4. OPENCV中图像数据结构及其转化

    OPENCV中图像数据结构及其转化 1. IplImage 它是openCV库中表示图像的结构体. 初始化: cvLoadImage(),cvCreateImage() 访问元素:[行指针] b = ...

  5. python用函数绘制椭圆_详解opencv中画圆circle函数和椭圆ellipse函数

    1. void ellipse(InputOutputArray img, Point center, Size axes, double angle, double startAngle, doub ...

  6. OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式...

    OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式 以最简单的4 x 5三通道图像为例,其在内存中Mat类型的数据组织形式如下: 每一行的每一列 ...

  7. OpenCV中图像的BGR格式 Img对象的属性说明

    1. 图像的BGR格式说明 OpenCV中图像读入的数据格式是numpy的ndarray数据格式.是BGR格式,取值范围是[0,255]. 如下图所示,分为三个维度: 第一维度:Height 高度,对 ...

  8. 聊一聊Mysql中的字符串拼接函数

    生死看淡,上来就干! 简单来说,Mysql中的字符串拼接函数主要有三个,分别是CONCAT().CONCAT_WS()以及GROUP_CONCAT():废话不多说,下面就每个函数具体来看一下: 1.C ...

  9. OpenCV中图像特征提取与描述

    目录 图像特征提取与描述 图像的特征 Harris和Shi-Tomas算法 Harris角点检测 Shi-Tomasi角点检测 小结 SIFT/SURF算法 SIFT原理 基本流程 尺度空间极值检测 ...

最新文章

  1. Android7.1update.zip升级在system/bin下新增可执行文件没有可执行权限问题
  2. 地形图绘制过程中的自然斜坡、陡坎、斜坡的区别
  3. Arrays.deepToString() 方法同时适用于基元数组和对象数组
  4. 取消选中目标CALL
  5. 转SQLSERVER 会不会自动加锁
  6. python3.7.2安装步骤-python安装升级详细步骤 Python2 升级 Python3
  7. cannot run program “google-chrome“: error=2, 没有那个文件或目录
  8. mysql binlog 备份_linux定时备份mysql数据库
  9. idea 搜索不到gsonformat_Android Studio 4.1没有GsonFormat插件的解决
  10. 鸿蒙智慧屏安装应用,谁说华为智慧屏不能装APP,我来打脸了,附零难度安装APP教程...
  11. 聊聊Ping命令的返回值Pong
  12. 鸿蒙 OS 2 升级用户破千万!(1000+企业共建鸿蒙生态)
  13. mysql数据写入磁盘的原理_WAL(Write Ahead Log)机制解析
  14. 【原创】RPA在BPO领域的场景分享-中科云创CEO每日分享
  15. sqli_labs 1-20攻略
  16. nvidia显卡控制面板的安装位置
  17. Android判断手机的电池状态
  18. @Transactional注解和Mybatis缓存问题(Mybatis 查询结果 List 对List修改后再次查询,结果与数据库不一致)
  19. matlab的imshow()显示图片过小咋办
  20. hexo butterfly主题添加备案信息

热门文章

  1. boost:is_straight_line_drawing用法的测试程序
  2. boost::coroutine模块实现对称协程的测试程序
  3. Boost:can_prefer的使用测试程序
  4. ITK:创建一个索引
  5. Qt Creator图片
  6. OpenGL HDR曝光的实例
  7. C++实现Schmidt施密特正交化算法(附完整源码)
  8. C语言实现基数排序Radix sort算法之二(附完整源码)
  9. C语言素数筛选法(prime seive) 算法(附完整源码)
  10. QT的QWinThumbnailToolBar类的使用