OpenCV中图像水平拼接函数hconcat的使用
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的使用相关推荐
- OpenCV中图像垂直拼接函数vconcat的使用
OPenCV版本:4.4 IDE:VS2019 功能描述 对给定的矩阵应用进行垂直连接 函数垂直连接两个或更多的cv::Mat矩阵 (具有相同的列数). 函数原型1 CV_EXPORTS void v ...
- OpenCV中图像轮廓检测
OpenCV中图像轮廓检测 通过之前的Canny方法可以得到图像的边界,但是我们无法得到边界的数学信息.所以就有了今天的图像轮廓检测. 在OpenCV中图像轮廓检测的API: findContours ...
- openCV中图像滤波之低通滤波
一.简介 滤波是信号和图像处理中的一种基本操作,目的是选择性提取图像中某些方面的内容,例如,滤波可以去除图像中的噪声,提取有用的视觉特征,对图像进行重采样等.下面介绍几个有关滤波的重要概念: 一幅图像 ...
- OPENCV中图像数据结构及其转化
OPENCV中图像数据结构及其转化 1. IplImage 它是openCV库中表示图像的结构体. 初始化: cvLoadImage(),cvCreateImage() 访问元素:[行指针] b = ...
- python用函数绘制椭圆_详解opencv中画圆circle函数和椭圆ellipse函数
1. void ellipse(InputOutputArray img, Point center, Size axes, double angle, double startAngle, doub ...
- OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式...
OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式 以最简单的4 x 5三通道图像为例,其在内存中Mat类型的数据组织形式如下: 每一行的每一列 ...
- OpenCV中图像的BGR格式 Img对象的属性说明
1. 图像的BGR格式说明 OpenCV中图像读入的数据格式是numpy的ndarray数据格式.是BGR格式,取值范围是[0,255]. 如下图所示,分为三个维度: 第一维度:Height 高度,对 ...
- 聊一聊Mysql中的字符串拼接函数
生死看淡,上来就干! 简单来说,Mysql中的字符串拼接函数主要有三个,分别是CONCAT().CONCAT_WS()以及GROUP_CONCAT():废话不多说,下面就每个函数具体来看一下: 1.C ...
- OpenCV中图像特征提取与描述
目录 图像特征提取与描述 图像的特征 Harris和Shi-Tomas算法 Harris角点检测 Shi-Tomasi角点检测 小结 SIFT/SURF算法 SIFT原理 基本流程 尺度空间极值检测 ...
最新文章
- 移动设备感染率及物联网设备安全漏洞数量创下历史新高
- 脑科学与AI要想融合发展,目前来说仍很困难
- Python——七段数码管绘制
- RetrieveFavicon 获取任何站点的 favicon
- 记一次提升18倍的性能优化
- 高可用—Keepalived安装部署使用详解
- systemd-run 中文手册
- 用VB轻松调用其他程序
- Android View之用户界面...
- Wannafly挑战赛19:C. 多彩的树(状压+容斥)
- NB50/60 TJ1/TK1 模具 黑苹果保姆级教程整理
- 彻底理解“EBIT、EBITDA与净利润 ”| 联系与区别
- 结构力学分析属于计算机哪类应用,结构力学 课堂笔记 (大学期末复习资料).doc...
- 各种SCI,CCF,EI,北大核心等刊物大致含金量,用奖学金加分看出!
- 大数据和云计算是如何结合
- python压缩图片--指定压缩大小且保真压缩
- 如何给电脑系统重置系统?方法其实很简单
- MySQL5.7.20安装
- 火车票抢票API 根据乘客的车次与座席要求快速订票出票 1
- TRS复合矩阵的拆解
热门文章
- boost::io::quoted用法的测试程序
- boost::hana::experimental::type_name用法的测试程序
- boost::gregorian模块实现月末日的测试程序
- GDCM:gdcm::UIDGenerator的测试程序
- GDCM:gdcm::IOD的测试程序
- Boost:递归容器的测试程序
- ITK:转换文件格式
- DCMTK:创建和验证DICOM数字签名
- DCMTK:DcmAttributeFilter类的测试程序
- VTK:IO之ReadPLY