【opencv】图片拼接

  • python实现
  • C++实现

python实现

import cv2
import osmainFolder = 'Images'#总文件夹目录,含子文件夹
myFolders = os.listdir(mainFolder)#os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表,注意返回值为列表
print(myFolders)#打印指定的文件夹包含的文件或文件夹的名字的列表for folder in myFolders:#循环总文件夹目录path = mainFolder +'/'+folder#folder为数字     1  2images =[]  #图片列表myList = os.listdir(path)print(f'Total no of images detected {len(myList)}')for imgN in myList:#循环子文件夹目录,含图片curImg = cv2.imread(f'{path}/{imgN}')#获取图片curImg = cv2.resize(curImg,(0,0),None,0.2,0.2)#改变图片大小images.append(curImg)#追加尺寸stitcher = cv2.Stitcher.create()#拼接(status,result) = stitcher.stitch(images)if (status == cv2.STITCHER_OK):print('Panorama Generated')cv2.imshow(folder,result)#以文件夹为显示名cv2.imwrite(f'{folder}.jpg',result)  #保存图片cv2.waitKey(1)else:print('Panorama Generation Unsuccessful')cv2.waitKey(0)

C++实现


#include <fstream>
#include "opencv2/stitching/stitcher.hpp"//\opencv\sources\samples\cpp\stitching.cpp
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream> using namespace cv;
using namespace std; vector<Mat> imgs; //保存拼接的原始图像向量 //导入所有原始拼接图像函数
void parseCmdArgs(int argc, char** argv); int main(int argc, char* argv[])
{ //导入拼接图像 parseCmdArgs(argc, argv);   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; return -1; } namedWindow("全景拼接",0); imshow("全景拼接",pano); imwrite("D:\\全景拼接.jpg",pano); waitKey();   return 0;
} //导入所有原始拼接图像函数
void parseCmdArgs(int argc, char** argv)
{ for(int i=1;i<argc;i++) { Mat img = imread(argv[i]); if (img.empty()) { cout << "Can't read image '" << argv[i] << "'\n"; } imgs.push_back(img); }
}

【opencv】图片拼接相关推荐

  1. opencv 图片拼接;OpenCvSharp图片拼接;C# 版opencv 图片拼接;C# 图片拼接

    opencv 图片拼接:OpenCvSharp图片拼接 先看效果图: 核心代码: //普通拼接: Mat srcImg1 = new Mat(strImg1);Mat srcImg2 = new Ma ...

  2. python opencv图片拼接、特征点匹配

    一.算法目的: 在同一位置拍摄的两幅或者多幅图像是单应性相关的的,使用该约束将很多图片缝补起来,拼成一个大的图像来创建全景图像.两张图片的拼接必须首先找到相同特征,也就是说两张照片必须要有重叠的部分才 ...

  3. OpenCV图片拼接

    2019独角兽企业重金招聘Python工程师标准>>> 一.原图 1.jpg                                        2.jpg         ...

  4. python opencv图片拼接融合

    这几天在做图片的拼接融合,参考了网上的一个教程,文章末尾附上链接,处理效果还是不错的,但是速度比较慢. 总结一下思路: 1.读取两张图片,做边界填充,这个根据自己图片的融合范围自己调整(要求两个图片大 ...

  5. Python使用OpenCV拼接图片

    python, opencv, 图片拼接, 视觉 作者:草小诚(wellsmile@foxmail.com) 转载请注原文地址:https://blog.csdn.net/cxcjoker7894/a ...

  6. Android 利用OpenCV 的Stitcher做全景图片拼接(支持平面和球面)

    开发项目中遇到一个需求 就是用手机按照顺序拍几张图片 然后将图片拼接成一张全景的照片 百度了一下 看到OpenCV 的Stitcher工具支持全景图片拼接 于是研究了一下OpenCV  花了差不多一周 ...

  7. 海思篇之基于openCV的png图片拼接

    一.拼接原理 我们在现实中要把两张图片或横或竖地排列在一起,则首先要有一个平整的桌面或者一块平整的面板,这在编程中也一样的,而这个平整的面就是图层,或者可以理解为一张更大的矩形图片,这个矩形图片大到可 ...

  8. opencv实践项目-图片拼接之缝合线算法

    目录 1. stitcher_detail执行过程 2. 源码 3. stitching_detail 程序接口介绍 4. 执行 5. 结果图 1. stitcher_detail执行过程 stitc ...

  9. Opencv项目实战:04 全景图片拼接

    1,效果展示 首先,需要拍摄像这种的图片(当然,大家用我这的就可以了,我实在是太了解大家了). 接下来,我们来看看拼接的效果图: 效果非常的棒,那我们再来看看,不同大小的图片的拼接效果 除了缺失的角, ...

  10. 图片拼接2-基于opencv的stitching

    opencv官方给了两个例子,请参考 例子1 #include "opencv2/imgcodecs.hpp" #include "opencv2/highgui.hpp ...

最新文章

  1. python截取视频图像_python工具-将视频按帧截取图片(附代码)
  2. 配置一个Servlet可以被一个(指定的开头链接,后自定义)访问
  3. Spring boot集成spring-boot-starter-data-jpa环境搭建
  4. 你必须足够强大,这个世界才会更加公平
  5. 求1+2+......+100的和
  6. “睡服”面试官系列第三篇之变量的结构赋值(建议收藏学习)
  7. 完整免授权彩虹源码(多模板+小储云商城模板)6.7.5
  8. 小程序开发及环境搭建及发布
  9. 5000字“肝”了这篇IP协议
  10. poj3083Children of the Candy Corn(dfs+bfs)
  11. 国内银行简码表(json)
  12. 强烈推荐大家看这篇文章:iOS开发常用三方库、插件、知名博客等等(特别有用)
  13. 最全公司章程自由规定事项
  14. ice1000烧写程序_[转载]Altera FPGA的EPCS配置的2种方法FPGA下载程序的方法(EPCS)
  15. matlab画网格等高线,matlab绘制网格图
  16. 『尼罗河魅影之谜』的故事模式与推理内核
  17. 第11章 枚举与泛型总结
  18. proc*c/c++简介
  19. C语言:输入一个整数 求它是几位数
  20. 如何成为一名项目经理

热门文章

  1. 阿里医疗NLP实践与思考
  2. 参与LABSUniswap IDO送普吉岛酒店公寓
  3. Linux下查看用户列表和删除用户,详例
  4. 测试两台计算机网络情况,使用iperf测试两台电脑之间的网速
  5. 秦九韶算法与霍纳规则
  6. 如何快速融入一个研发团队?
  7. 使用facebook账号登录
  8. facebook登陆授权 服务器接入记录
  9. Openwrt无线中继AP设置教程
  10. 静校正问题及其深度学习方法