图像拼接 opencv
2013-01-07 17:25
369 查看
#include <iostream> #include <fstream> #include "opencv2/highgui/highgui.hpp" #include "opencv2/stitching/stitcher.hpp" using namespace std; using namespace cv; bool try_use_gpu = false; vector<Mat> imgs; string result_name = "result.jpg"; void printUsage(); int parseCmdArgs(int argc, char** argv); int main(int argc, char* argv[]) { int retval = parseCmdArgs(argc, argv); if (retval) return -1; Mat pano; Stitcher stitcher = Stitcher::createDefault(try_use_gpu); Stitcher::Status status = stitcher.stitch(imgs, pano); if (status != Stitcher::OK) { cout << "Can't stitch images, error code = " << status << endl; return -1; } imwrite(result_name, pano); return 0; } void printUsage() { cout << "Rotation model images stitcher.\n\n" "stitching img1 img2 [...imgN]\n\n" "Flags:\n" " --try_use_gpu (yes|no)\n" " Try to use GPU. The default value is 'no'. All default values\n" " are for CPU mode.\n" " --output <result_img>\n" " The default is 'result.jpg'.\n"; } int parseCmdArgs(int argc, char** argv) { if (argc == 1) { printUsage(); return -1; } for (int i = 1; i < argc; ++i) { if (string(argv[i]) == "--help" || string(argv[i]) == "/?") { printUsage(); return -1; } else if (string(argv[i]) == "--try_use_gpu") { if (string(argv[i + 1]) == "no") try_use_gpu = false; else if (string(argv[i + 1]) == "yes") try_use_gpu = true; else { cout << "Bad --try_use_gpu flag value\n"; return -1; } i++; } else if (string(argv[i]) == "--output") { result_name = argv[i + 1]; i++; } else { Mat img = imread(argv[i]); if (img.empty()) { cout << "Can't read image '" << argv[i] << "'\n"; return -1; } imgs.push_back(img); } } return 0; }
相关文章推荐
- Opencv实现图像无缝拼接,Sift查找特征点,Flann进行匹配
- 基于opencv的图像拼接(四): 基于stitch类的离线图像拼接
- opencv多幅图像的拼接算法
- OpenCv学习之利用ORB算法完成图像拼接
- opencv实现几幅图像拼接成一整幅大图
- 图像拼接(三):OpenCV同时打开两个摄像头捕获视频
- OpenCV单应变换模型拼接多幅图像--单向
- 利用OpenCV实现图像拼接的代码!
- 基于OpenCV全景图像拼接
- opencv之图像拼接
- OpenCV实现将两幅图像拼接在一起
- OpenCV18(图像拼接stitcher_detail)
- opencv实现几幅图像拼接成一整幅大图
- opencv 图像拼接
- OpenCV2学习笔记(十六):Stitching图像拼接
- 【opencv+OpenMP】OpenMP并行编程应用—加速OpenCV图像拼接算法
- OpenCV学习笔记(五十一)——imge stitching图像拼接stitching
- Opencv Sift和Surf特征实现图像无缝拼接生成全景图像
- OpenCV18(图像拼接stitcher_detail)
- 【opencv】stitching图像拼接