Opencv实现多幅图片拼接在一起
未经本人允许,不得转载
先直接上代码,文末会有具体分析,代码也有相应注释。
本文是以三张图片横向排列拼接为例 ,其他的也是类似
IplImage* paletteImageRam1, paletteImageRam2, paletteImageRam3; //此处是定义了三个图片,实际使用时应当载入自己的三幅图片
//将三个图片拼接在一起
double width,height;
width = double(paletteImageRam1->width) *3.0; //第一幅图片的宽度乘以3就是拼接完的图像宽度,此处假设三张图的宽高都一样,实际使用可以将各自图像的宽度相加
height = double(paletteImageRam1->height); //第一幅图像的高度
IplImage* des = cvCreateImage(cvSize(width,height), paletteImageRam1->depth, paletteImageRam1->nChannels); //生成一个三幅拼接用的容器图片
cvSetImageROI(des, cvRect(0, 0,paletteImageRam1->width, height)); //设置容器图片中感兴趣的部分,前两个左边0,0代表感兴趣的区域的起点,后两个代表感兴趣区域的宽高
cvCopy(paletteImageRam1, des); //将第一幅图像放到感兴趣的区域里面,也就是第一个方格
cvResetImageROI(des);
cvSetImageROI(des, cvRect(paletteImageRam1->width, 0,paletteImageRam1->width,height));
cvCopy(paletteImageRam2, des);
cvResetImageROI(des);
cvSetImageROI(des, cvRect(paletteImageRam1->width*2, 0,paletteImageRam1->width,height));
cvCopy(paletteImageRam3, des);
cvResetImageROI(des);
//des就是最后拼接得到的图像
/************************/
// opencv里面cvSetImageROI(感兴趣的区域的起点x,感兴趣的区域的起点y,感兴趣的区域宽度w,感兴趣的区域高度h)函数,是用来设置一个操作区域的,就是说设定了这个区域然后再将图复制到这个里面来,然后再分割第二个区域,填进去
/***********************/
转载于:https://www.cnblogs.com/rain-drop/p/6828059.html
Opencv实现多幅图片拼接在一起相关推荐
- opencv实现图像的拼接功能
opencv 图像拼接. 代码来自版本2.4.9,stitching.cpp /*M/// // // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INS ...
- OpenCV 进行图像融合拼接
环境: 运行环境:Win10 x64 OpenCV 版本: 4.5.1 源代码: #include <iostream> #include <vector> #include ...
- opencv Stitcher多图拼接
Opencv使用Stitcher类图像拼接生成全景图像 Opencv中自带的Stitcher类可以实现全景图像,效果不错.下边的例子是Opencv Samples中的stitching.cpp的简化, ...
- 【数字图像处理】基于opencv的图像采集与拼接
最近准备开始着手学习计算机视觉,首先还是从opencv开始学起. 在opencv平台首先实现摄像头实时采集图像,按下空格拍照,拍完四张图片后实现图像的简单拼接. 1.图像的采集 #include &l ...
- Python OpenCV 图片拆分与拼接
本文主要实现图片的简单拼接与拆分 一.拆分 示例图片: 拆分代码如下: 主要思路:读取图片后拆分为两个矩阵,再显示即可 import numpy as np import cv2path = './1 ...
- OpenCV中图像水平拼接函数hconcat的使用
OPenCV版本:4.4 IDE:VS2019 功能描述 对给定的矩阵应用进行水平连接. 函数垂直连接两个或更多的cv::Mat矩阵 (具有相同的行数). 函数原型1 CV_EXPORTS void ...
- OpenCV中图像垂直拼接函数vconcat的使用
OPenCV版本:4.4 IDE:VS2019 功能描述 对给定的矩阵应用进行垂直连接 函数垂直连接两个或更多的cv::Mat矩阵 (具有相同的列数). 函数原型1 CV_EXPORTS void v ...
- opencv中的矩阵拼接
hconcat.vconcat Mat_<float> T_L = (Mat_<float>(3, 1) << -518.97666, 01.20629, 9.14 ...
- OpenCV读取多幅图片,读取系列图片,读取文件夹中指定图像类型的系列图片
读取系列图片通常是将文件夹中的所有文件名保存在txt中,再读取,如链接和链接所示.这是通常的操作方法. 之前写过一篇利用OpenCV读取系列图片的例子,参见链接,但是,实际应用中并不能改变文件名,本文 ...
最新文章
- php识别下载图片类型,php识别jpg图片exif信息中Photoshop格式 类型
- linux进程map,linux下unordered_map和map在小数据下性能差异
- 2021-05-10 如何修改Docker的默认镜像存储位置
- 大厅安排(normal)
- SAP Fiori Elements List Report 里的表格类型(tableType)是如何决定出来的
- MySQL_存储过程
- Asp.Net把word文件转换为html文件
- zuul源码分析之Request生命周期管理
- CSDN小秘书 测试版
- 时序逻辑电路的设计与分析
- 自动控制原理学习笔记--反馈控制系统的动态模型
- 计算机网络应用ppt,1分钟骚操作顶别人10分钟!不可不懂的PPT神技
- iptables: No config file解决方法
- python词性标注_自然语言处理基础技术之词性标注
- 如何回答“你没有经验,我们为什么录用你”
- RGB和CIELAB颜色空间转换及偏色检测
- Android Studio显示“Hardcoded String XXX,should use @string resource”的解决方法2-1
- pixiv爬虫,下载关注的所有画师的所有插画----解决谷歌人机,模拟登录,SSL错误与反反爬
- 横向越权与纵向越权区别
- Echarts 柱状图上方显示值
热门文章
- mysql连接28000错误代码_mysql 在登陆的时候出现error 1045 (28000): 错误解决办法
- linux选择usb功能,USB gadget设备驱动解析(1)——功能体验
- C++socket编程(八):8.1 UDP讲解,用户数据报协议
- 辰皇怎么过鸿蒙,诛仙3职业全面解析 各职业副本优缺点介绍
- linux设置ntp开机同步时间同步,linux ntp时间同步
- mysql经典四表查询_mysql经典问题四表查询(教师,学生,成绩,课程表)
- 获取roi内的xld_提升ROI是王道,这几种推广获客渠道与形式你还不知道?
- python打包exe黑框一闪而过,解决pyinstaller打包exe文件出现命令窗口一闪而过的问题...
- html中的声明的作用域,Html/CSS 作用域
- Flink WriteRedis