资源简介
版本号:OpenCV-4.1.1、opencv_contrib-4.1.1、Visual Studio 2015。
基于OpenCV4.1.1帮助文档内Examples的stitching_detail.cpp改编。
包括提取特征点、特征点匹配、特征点提纯、预估相机参数、全面细化相机参数、图像变换、补偿曝光器、边缘拼接器、图像融合等功能,可对两张以上的图片进行融合,得到效果很好的全景图。
运行结果:https://blog.csdn.net/GIS_feifei/article/details/102875389
代码片段和文件信息
#include
#include
#include
#include “opencv2/opencv_modules.hpp“
#include
#include “opencv2/imgcodecs.hpp“
#include “opencv2/highgui.hpp“
#include “opencv2/stitching/detail/autocalib.hpp“
#include “opencv2/stitching/detail/blenders.hpp“
#include “opencv2/stitching/detail/timelapsers.hpp“
#include “opencv2/stitching/detail/camera.hpp“
#include “opencv2/stitching/detail/exposure_compensate.hpp“
#include “opencv2/stitching/detail/matchers.hpp“
#include “opencv2/stitching/detail/motion_estimators.hpp“
#include “opencv2/stitching/detail/seam_finders.hpp“
#include “opencv2/stitching/detail/warpers.hpp“
#include “opencv2/stitching/warpers.hpp“
#include “opencv2/xfeatures2d/nonfree.hpp“
using namespace std;
using namespace cv;
using namespace cv::detail;
// Default command line args 默认命令行参数
vector img_names;
bool preview = false;
bool try_cuda = false;
double work_megapix = 0.6;
double seam_megapix = 0.1;
double compose_megapix = -1;
float conf_thresh = 1.f;
#ifdef HAVE_OPENCV_XFEATURES2D
string features_type = “surf“;
#else
string features_type = “orb“;
#endif
string matcher_type = “homography“;
string estimator_type = “homography“;
string ba_cost_func = “ray“;
string ba_refine_mask = “xxxxx“;
bool do_wave_correct = true;
WaveCorrectKind wave_correct = detail::WAVE_CORRECT_HORIZ;
bool save_graph = false;
std::string save_graph_to;
string warp_type = “cylindrical“;
int expos_comp_type = ExposureCompensator::GAIN_BLOCKS;
int expos_comp_nr_feeds = 1;
int expos_comp_nr_filtering = 2;
int expos_comp_block_size = 32;
float match_conf = 0.3f;
string seam_find_type = “gc_color“;
int blend_type = Blender::MULTI_BAND;
int timelapse_type = Timelapser::AS_IS;
float blend_strength = 5;
string result_name = “result.jpg“;
bool timelapse = false;
int range_width = -1;
double seam_work_aspect = 1;
int main(int argc char* argv[])
{
double work_scale = 1 seam_scale = 1 compose_scale = 1;
bool is_work_scale_set = false is_seam_scale_set = false is_compose_scale_set = false;
//获取文件夹图片的路径
cv::String filepath = “C:\\Users\\Lenovo-Gu\\Desktop\\photo\\*.jpg“; //!!!更改为图片所在文件夹路径!!!
glob(filepath img_names false);
size_t num_images = img_names.size();
Ptr finder = xfeatures2d::SIFT::create();
//用数组存储所有的图片以及图片的特征点、尺寸
Mat full_img img;
vector features(num_images); //声明一个初始大小为num_images的ImageFeatures
vector images(num_images); //num_images个图像组成的数组
vector full_img_sizes(num_images); //num_images个图像的尺寸组成的数组
for (int i = 0; i < num_images; ++i)
{
full_img = imread(samples::findFile(img_names[i])); //cv::samples::findFile(const cv::String & relative_path bool required = true bool silentMode = false)
full_img_sizes[i] = full_img.size();
//double work_scale = min(1.0 sqrt(0.6 * 1e6 / full_img.size().area()));
//resize(full_img img Size() work_scale work_sca
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 21504 2019-11-02 18:31 quanjing_save\.vs\quanjing_save\v14\.suo
文件 19849 2019-11-02 10:36 quanjing_save\quanjing_save\main.cpp
文件 7383 2019-10-26 19:59 quanjing_save\quanjing_save\quanjing_save.vcxproj
文件 945 2019-10-26 19:59 quanjing_save\quanjing_save\quanjing_save.vcxproj.filters
文件 1019286 2019-11-02 10:42 quanjing_save\quanjing_save\result.jpg
文件 4752501 2019-11-02 10:36 quanjing_save\quanjing_save\x64\Debug\main.obj
文件 194 2019-11-02 10:36 quanjing_save\quanjing_save\x64\Debug\quanjing_save.log
文件 614 2019-11-02 10:36 quanjing_save\quanjing_save\x64\Debug\quanjing_save.tlog\CL.command.1.tlog
文件 27314 2019-11-02 10:36 quanjing_save\quanjing_save\x64\Debug\quanjing_save.tlog\CL.read.1.tlog
文件 484 2019-11-02 10:36 quanjing_save\quanjing_save\x64\Debug\quanjing_save.tlog\CL.write.1.tlog
文件 1318 2019-11-02 10:36 quanjing_save\quanjing_save\x64\Debug\quanjing_save.tlog\li
文件 3404 2019-11-02 10:36 quanjing_save\quanjing_save\x64\Debug\quanjing_save.tlog\li
文件 470 2019-11-02 10:36 quanjing_save\quanjing_save\x64\Debug\quanjing_save.tlog\li
文件 192 2019-11-02 10:36 quanjing_save\quanjing_save\x64\Debug\quanjing_save.tlog\quanjing_save.lastbuildstate
文件 953344 2019-11-02 10:36 quanjing_save\quanjing_save\x64\Debug\vc140.idb
文件 1880064 2019-11-02 10:36 quanjing_save\quanjing_save\x64\Debug\vc140.pdb
文件 1321 2019-10-26 19:57 quanjing_save\quanjing_save.sln
文件 13975552 2019-11-02 18:31 quanjing_save\quanjing_save.VC.db
文件 870400 2019-11-02 10:36 quanjing_save\x64\Debug\quanjing_save.exe
文件 3336456 2019-11-02 10:36 quanjing_save\x64\Debug\quanjing_save.ilk
文件 5844992 2019-11-02 10:36 quanjing_save\x64\Debug\quanjing_save.pdb
目录 0 2019-11-02 10:36 quanjing_save\quanjing_save\x64\Debug\quanjing_save.tlog
目录 0 2019-10-26 19:57 quanjing_save\.vs\quanjing_save\v14
目录 0 2019-11-02 10:36 quanjing_save\quanjing_save\x64\Debug
目录 0 2019-10-26 19:57 quanjing_save\.vs\quanjing_save
目录 0 2019-10-26 19:59 quanjing_save\quanjing_save\x64
目录 0 2019-11-01 19:10 quanjing_save\x64\Debug
...D.H. 0 2019-10-26 19:57 quanjing_save\.vs
目录 0 2019-11-02 10:36 quanjing_save\quanjing_save
目录 0 2019-10-26 19:59 quanjing_save\x64
............此处省略4个文件信息
- 上一篇:Beyond Feelings 9th 原版完整
- 下一篇:联想B460E图纸
相关资源
- protobuf-cpp-3.1.0.tar.gz 配置文件
- 图像特征点提取与匹配
- opencv获取图像像素值
- 动作识别 Hu距 SVM opencv2.4.9 VS2013
- createsamples.exe和haartraining.exe及所需d
- opencv车牌识别系统可直接运行
- 基于opencv与yolo的目标识别案例
- svm颜色分类
- QT OPENCV车牌识别 识别结果输出到Tex
- opencv3.2交叉编译移植笔记
- OpenCV人脸识别290071
- openCV库文件卷3
- opencv运动目标跟踪
- opencv基于颜色直方图进行模板图像匹
- 双目标定以及双目测距程序.rar
- OpenCV插件UE4
- opencv_world420.dll
- OpenCV 4.2.0 Visual Studio 2017 32位 版本
- OpenCV实现的图像2D转3D Image-2D-to-3D.ra
- 一幅图片中画两个矩形
- VS2015编译好的opencv3.4.1+contrib3.4.1
- 基于opencv的双目相机标定代码
- 图片合成视频OpenCV
- 视频人脸追踪
- opencv2410forMinGw
- Tesseract 4.0 for VS2015及OpenCV数字识别程
- Computer Vision with OpenCV3 and Qt5完整版
- pb模型转pbtxtopencv调用
- Computer Vision with OpenCV 3 and Qt5
- 基于hog+pca+svm行人检测源码
评论
共有 条评论