OpenCV中图像垂直拼接函数vconcat的使用
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的使用相关推荐
- OpenCV中图像水平拼接函数hconcat的使用
OPenCV版本:4.4 IDE:VS2019 功能描述 对给定的矩阵应用进行水平连接. 函数垂直连接两个或更多的cv::Mat矩阵 (具有相同的行数). 函数原型1 CV_EXPORTS void ...
- 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原理 基本流程 尺度空间极值检测 ...
最新文章
- Android7.1update.zip升级在system/bin下新增可执行文件没有可执行权限问题
- 地形图绘制过程中的自然斜坡、陡坎、斜坡的区别
- Arrays.deepToString() 方法同时适用于基元数组和对象数组
- 取消选中目标CALL
- 转SQLSERVER 会不会自动加锁
- python3.7.2安装步骤-python安装升级详细步骤 Python2 升级 Python3
- cannot run program “google-chrome“: error=2, 没有那个文件或目录
- mysql binlog 备份_linux定时备份mysql数据库
- idea 搜索不到gsonformat_Android Studio 4.1没有GsonFormat插件的解决
- 鸿蒙智慧屏安装应用,谁说华为智慧屏不能装APP,我来打脸了,附零难度安装APP教程...
- 聊聊Ping命令的返回值Pong
- 鸿蒙 OS 2 升级用户破千万!(1000+企业共建鸿蒙生态)
- mysql数据写入磁盘的原理_WAL(Write Ahead Log)机制解析
- 【原创】RPA在BPO领域的场景分享-中科云创CEO每日分享
- sqli_labs 1-20攻略
- nvidia显卡控制面板的安装位置
- Android判断手机的电池状态
- @Transactional注解和Mybatis缓存问题(Mybatis 查询结果 List 对List修改后再次查询,结果与数据库不一致)
- matlab的imshow()显示图片过小咋办
- hexo butterfly主题添加备案信息
热门文章
- boost:is_straight_line_drawing用法的测试程序
- boost::coroutine模块实现对称协程的测试程序
- Boost:can_prefer的使用测试程序
- ITK:创建一个索引
- Qt Creator图片
- OpenGL HDR曝光的实例
- C++实现Schmidt施密特正交化算法(附完整源码)
- C语言实现基数排序Radix sort算法之二(附完整源码)
- C语言素数筛选法(prime seive) 算法(附完整源码)
- QT的QWinThumbnailToolBar类的使用