OPenCV版本:4.4

IDE:VS2019

功能描述

对给定的矩阵应用进行水平连接。

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

函数原型1

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

参数描述

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

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

​ cv::vconcat(InputArrayOfArrays, OutputArray)

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

示例代码

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

函数原型2

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

参数描述

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

示例代码

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

函数原型3

CV_EXPORTS_W void hconcat(InputArrayOfArrays src, OutputArray dst);

参数描述

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

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

示例代码

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

源代码示例:

把两张图片水平连接成一张图片

#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");cv::Mat output;cv::hconcat(image, image2, output);cv::imshow("hcontact", 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::hconcat(images, output2);cv::imshow("hcontact2", output2);cv::waitKey(0);return 0;
}

运行结果:

OpenCV中图像水平拼接函数hconcat的使用相关推荐

  1. OpenCV中图像垂直拼接函数vconcat的使用

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

  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. 移动设备感染率及物联网设备安全漏洞数量创下历史新高
  2. 脑科学与AI要想融合发展,目前来说仍很困难
  3. Python——七段数码管绘制
  4. RetrieveFavicon 获取任何站点的 favicon
  5. 记一次提升18倍的性能优化
  6. 高可用—Keepalived安装部署使用详解
  7. systemd-run 中文手册
  8. 用VB轻松调用其他程序
  9. Android View之用户界面...
  10. Wannafly挑战赛19:C. 多彩的树(状压+容斥)
  11. NB50/60 TJ1/TK1 模具 黑苹果保姆级教程整理
  12. 彻底理解“EBIT、EBITDA与净利润 ”| 联系与区别
  13. 结构力学分析属于计算机哪类应用,结构力学 课堂笔记 (大学期末复习资料).doc...
  14. 各种SCI,CCF,EI,北大核心等刊物大致含金量,用奖学金加分看出!
  15. 大数据和云计算是如何结合
  16. python压缩图片--指定压缩大小且保真压缩
  17. 如何给电脑系统重置系统?方法其实很简单
  18. MySQL5.7.20安装
  19. 火车票抢票API 根据乘客的车次与座席要求快速订票出票 1
  20. TRS复合矩阵的拆解

热门文章

  1. boost::io::quoted用法的测试程序
  2. boost::hana::experimental::type_name用法的测试程序
  3. boost::gregorian模块实现月末日的测试程序
  4. GDCM:gdcm::UIDGenerator的测试程序
  5. GDCM:gdcm::IOD的测试程序
  6. Boost:递归容器的测试程序
  7. ITK:转换文件格式
  8. DCMTK:创建和验证DICOM数字签名
  9. DCMTK:DcmAttributeFilter类的测试程序
  10. VTK:IO之ReadPLY