OpenCV图片拼接
2019独角兽企业重金招聘Python工程师标准>>>
一、原图
1.jpg 2.jpg 3.jpg
二、拼接效果
1、拼接效果之一:简单拼接,有重叠,看着不太舒服
2、拼接效果之二:高级拼接,这下貌似好多了
三、源代码(一)
#include <cv.h>
#include <highgui.h>
#include <stdlib.h>
#pragma comment(lib,"opencv_core245.lib")
#pragma comment(lib,"opencv_highgui245.lib")
int main(){ char* file[3]={"1.jpg","2.jpg","3.jpg"};//3张原始图片 IplImage* pImg[3]; int i; for(i=0;i<3;++i) pImg[i]=cvLoadImage(file[i]);int sw=pImg[0]->width; int sh=pImg[0]->height;IplImage* dstImg = cvCreateImage(cvSize(sw*3,sh),pImg[0]->depth,pImg[0]->nChannels); cvZero(dstImg);printf("Please wait...\n");for(i=0;i<3;++i) { cvSetImageROI(dstImg, cvRect(i*sw,0,sw,sh)); cvCopy(pImg[i], dstImg); cvResetImageROI(dstImg); }cvNamedWindow("dstImg"); cvShowImage("dstImg", dstImg); cvSaveImage("result1.jpg",dstImg);//拼接图片之一 cvWaitKey(0); for(i=0;i<3;++i) cvReleaseImage(&pImg[i]); cvReleaseImage(&dstImg); cvDestroyWindow("dstImg"); system("pause"); return 0;
}
2、源代码(二)
#include <iostream>
#include <fstream>
#include "opencv2/highgui/highgui.hpp
"#include "opencv2/stitching/stitcher.hpp"
using namespace std;
using namespace cv;
#pragma comment(lib,"opencv_core245.lib")
#pragma comment(lib,"opencv_highgui245.lib")
#pragma comment(lib,"opencv_stitching245.lib")
int main(void)
{ string srcFile[3]={"1.jpg","2.jpg","3.jpg"}; string dstFile="result.jpg"; vector<Mat> imgs;for(int i=0;i<3;++i) { Mat img=imread(srcFile[i]); if (img.empty()) { cout<<"Can't read image '"<<srcFile[i]<<"'\n"; system("pause"); return -1; } imgs.push_back(img); }cout<<"Please wait..."<<endl; Mat pano; Stitcher stitcher = Stitcher::createDefault(false); Stitcher::Status status = stitcher.stitch(imgs, pano);if (status != Stitcher::OK) { cout<<"Can't stitch images, error code=" <<int(status)<<endl; system("pause"); return -1; }imwrite(dstFile, pano); namedWindow("Result"); imshow("Result",pano); waitKey(0); destroyWindow("Result");system("pause"); return 0;
}
注:
1、原始图片(1,2,3)来源http://blog.csdn.net/yang_xian521/article/details/7589431,缩放至1/4
2、代码(一)参考http://www.cnblogs.com/CBDoctor/archive/2011/09/19/2180998.html ,有较小改动
3、代码(二)参考OpenCV自带samples\cpp\stitching.cpp,改动较大
转载于:https://my.oschina.net/xiaot99/blog/226589
OpenCV图片拼接相关推荐
- opencv 图片拼接;OpenCvSharp图片拼接;C# 版opencv 图片拼接;C# 图片拼接
opencv 图片拼接:OpenCvSharp图片拼接 先看效果图: 核心代码: //普通拼接: Mat srcImg1 = new Mat(strImg1);Mat srcImg2 = new Ma ...
- python opencv图片拼接、特征点匹配
一.算法目的: 在同一位置拍摄的两幅或者多幅图像是单应性相关的的,使用该约束将很多图片缝补起来,拼成一个大的图像来创建全景图像.两张图片的拼接必须首先找到相同特征,也就是说两张照片必须要有重叠的部分才 ...
- python opencv图片拼接融合
这几天在做图片的拼接融合,参考了网上的一个教程,文章末尾附上链接,处理效果还是不错的,但是速度比较慢. 总结一下思路: 1.读取两张图片,做边界填充,这个根据自己图片的融合范围自己调整(要求两个图片大 ...
- Python使用OpenCV拼接图片
python, opencv, 图片拼接, 视觉 作者:草小诚(wellsmile@foxmail.com) 转载请注原文地址:https://blog.csdn.net/cxcjoker7894/a ...
- Android 利用OpenCV 的Stitcher做全景图片拼接(支持平面和球面)
开发项目中遇到一个需求 就是用手机按照顺序拍几张图片 然后将图片拼接成一张全景的照片 百度了一下 看到OpenCV 的Stitcher工具支持全景图片拼接 于是研究了一下OpenCV 花了差不多一周 ...
- 海思篇之基于openCV的png图片拼接
一.拼接原理 我们在现实中要把两张图片或横或竖地排列在一起,则首先要有一个平整的桌面或者一块平整的面板,这在编程中也一样的,而这个平整的面就是图层,或者可以理解为一张更大的矩形图片,这个矩形图片大到可 ...
- opencv实践项目-图片拼接之缝合线算法
目录 1. stitcher_detail执行过程 2. 源码 3. stitching_detail 程序接口介绍 4. 执行 5. 结果图 1. stitcher_detail执行过程 stitc ...
- Opencv项目实战:04 全景图片拼接
1,效果展示 首先,需要拍摄像这种的图片(当然,大家用我这的就可以了,我实在是太了解大家了). 接下来,我们来看看拼接的效果图: 效果非常的棒,那我们再来看看,不同大小的图片的拼接效果 除了缺失的角, ...
- 图片拼接2-基于opencv的stitching
opencv官方给了两个例子,请参考 例子1 #include "opencv2/imgcodecs.hpp" #include "opencv2/highgui.hpp ...
最新文章
- B - Paint The Wall HDU - 4391[分块hash+tag标记]
- boost::callable_traits添加member左值引用
- 加个属性让div成纵向横向无缝滚动(支持IE和FF)
- 美团电单车中标警用车采购项目,上千辆定制版警用电单车上线!
- python正则表达式03--字符串中匹配数字
- VS2008安装后无法安装office2007的解决办法
- yum安装软件提示Another app is currently holding the yum lock
- Python基础知识 D2
- 知网查重报告html乱码,知网查重报告出现乱码怎么办
- MFC访问共享文件夹
- RabbitMQ使用教程(超详细)
- linux下实现文件双向同步 unsion,unison做数据双向同步
- Didn't find class ...l on path: DexPathList
- qemu与宿主机网络通信配置
- tp5.1 保利威视 云课堂 三分屏 PC直播DEMO(不适合普通直播)
- h5难做吗_这样的h5制作难吗,通过什么平台可以做出来?
- 运维派 企业面试题3 为上题中的 十个随机字母_test.html 文件 更名
- 强化学习paper绘图技巧——改进smooth
- ABM410-ASEMI贴片整流桥ABM410
- 各种wifi共享妙招汇总
热门文章
- 开关量、数字量、模拟量、脉冲量的区别
- 3、微信小程序-通信
- Unity项目-黑魂复刻(四)玩家控制器(翻滚以及跳跃操作改动)
- 关于Windows无法格式化该卷,因为该卷已脱机的问题解决办法
- C# Socket 长连接设置Keepalive
- Type-C保温杯取电方案
- 销售谈判技巧培训分享
- 520特别企划 | Z世代进入婚恋市场,婚恋交友行业会有什么变化?​
- 财务学python还是vba_各位大佬好,财务分析,要使用BI,VBA,Python,Wind学习那个可以对财务工作更加有益?...
- 计算机专业硕士学费,2015计算机工程硕士专业学费汇总