OpenCV stitching_detailed.cpp 笔记

本文详细解析了OpenCV的stitching_detailed.cpp,涵盖从特征提取、匹配、旋转估计到图像融合的全过程。重点讲解了FeaturesFinder、MatchesInfo、FeaturesMatcher等关键类的用途,以及Estimator、BundleAdjusterBase在参数调整中的作用,同时涉及图像校正、旋转模型和曝光补偿等概念。
摘要由CSDN通过智能技术生成

OpenCV stitching_detailed.cpp 笔记

根据4.0.0-pre的文档。

 

1.

函数 

template<typename T> Ptr<T> cv::makePtr()

返回 一个Ptr<T>类型的对象。

 

2.

SurfFeaturesFinder 为类名,继承自cv::detail::FeaturesFinder类。FeaturesFinder类定义了find( )函数并重载了( )运算符,( )运算符将调用find( )。

FeaturesFinder对象的collectGarbage()方法将主动清理内部存储。

 

3.

上述FeaturesFinder类的对象的find( )方法将结果保存在一个 cv::detail::ImageFeatures struct中。ImageFeatures 结构具有4个元素,分别是

UMat descriptors;

int img_idx;

Size img_size;

std::vector< KeyPoint > keypoints;

其中UMat可以理解成给予OpenCL进行自动加速的Mat类型。参考https://jeanvitor.com/opencv-opencl-umat-performance/

KeyPoint是存储特征点的通用类。img_idx元素用作用户自行定义图像文件的索引。

 

4.

在初期处理每个输入图像并提取feature时,使用Mat.clone( )方法进行数据复制。Mat的clone( )方法和copyTo( )方法都可进行Mat的deep copy,但是他们有不同行为。clone( )函数总是会修改被赋值的目标对象的地址,而copyTo( )会尝试复用目标对象的存储空间(尤其是源和目标的数据类型与数量完全一致时)。参考 https://stackoverflow.com/ques

OpenCV_Debug.props和OpenCV_Release.props文件是OpenCV的属性文件,用于帮助配置Visual Studio项目以使用OpenCV库。以下是安装步骤: 1. 下载OpenCV的最新版本并解压缩到本地文件夹中。 2. 在Visual Studio中打开您的项目。 3. 选择“项目”菜单,然后选择“属性”。 4. 在“属性页”中,选择“VC++目录”。 5. 在“包含目录”字段中添加OpenCV包含目录的路径。例如,如果您解压缩OpenCV到C:\OpenCV,则输入“C:\OpenCV\include”。 6. 在“库目录”字段中添加OpenCV库文件的路径。例如,如果您解压缩OpenCV到C:\OpenCV,则输入“C:\OpenCV\lib”。 7. 在“链接器”选项卡下,选择“输入”。 8. 在“附加依赖项”字段中,添加OpenCV库的名称。例如,如果您使用OpenCV 4.5.1,则输入“opencv_world451d.lib”(Debug版本)或“opencv_world451.lib”(Release版本)。 9. 下载OpenCV_Debug.props和OpenCV_Release.props文件。 10. 将OpenCV_Debug.props文件复制到您的项目文件夹中的“属性”文件夹中。 11. 将OpenCV_Release.props文件复制到您的项目文件夹中的“属性”文件夹中。 12. 返回到Visual Studio,并在“属性页”中选择“常规”。 13. 在“属性页”右上角,选择“所有配置”。 14. 现在,您可以在“属性页”中设置OpenCV_Debug.props和OpenCV_Release.props文件中定义的属性。 15. 重复上述步骤以为Release版本安装OpenCV_Release.props文件。 完成上述步骤后,您的项目应该可以使用OpenCV库了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值