【OpenCV学习笔记 024】Stitcher类实现全景图像拼接
来源:互联网 发布:mysql查询面试题及答案 编辑:程序博客网 时间:2024/05/19 18:16
在遇到图像拼接的需求时,可以考虑OpenCV中自带的Stitcher类,该类可以实现全景图像,效果还不错。在opencv的安装目录中,该类位于opencv\sources\samples\cpp\stitching.cpp。
程序源码:
#include <fstream> #include "opencv2/highgui/highgui.hpp" #include "opencv2/stitching/stitcher.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);}}
命令参数:
图1:
图2:
图3:
图4:
图5:
传入顺序随意,Stitcher会自动排列。全景拼接效果很不错:
1 0
- 【OpenCV学习笔记 024】Stitcher类实现全景图像拼接
- Opencv 使用Stitcher类图像拼接生成全景图像
- 用opencv的stitcher类实现图像拼接
- opencv学习--图像拼接之 Stitcher
- stitcher类轻松实现图像拼接
- 示例程序047--用opencv的stitcher类实现图像拼接
- 利用opencv的stitcher类进行图像拼接
- opencv图像全景拼接
- EmguCV使用Stitcher类来拼接图像
- 基于OpenCV全景图像拼接
- 图像拼接(类stitcher 用于图像拼接)
- opencv学习笔记2--图像拼接教程
- Opencv Sift和Surf特征实现图像无缝拼接生成全景图像
- Opencv Sift和Surf特征实现图像无缝拼接生成全景图像
- Opencv Sift和Surf特征实现图像无缝拼接生成全景图像
- matlab实现全景图像拼接技术
- 初学opencv心得:图片拼接Stitcher函数
- 全景图像的拼接
- AngularJS常见内置指令以及控制器
- calico配置 BIRD 作为 BGP Route Reflector
- 【Android graphics】(一) Android SVG使用之AnimatedVectorDrawable
- hihoCoder #1014 : Trie树
- ViewPage+Fragment
- 【OpenCV学习笔记 024】Stitcher类实现全景图像拼接
- 简单明了区分escape、encodeURI和encodeURIComponent
- php开源库推荐
- Subarray Sum Equals K
- 蛇形填数
- java IO ——new I/O包
- 72-套接字与标准I/O
- 语言学大师 —— 乔姆斯基
- ac自动机最详细的讲解,让你一次学会ac自动机。