C C++最新Opencv2(1),2024年最新腾讯、网易必问的20道题C C++面试题

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

else

#endif
{
#ifdef HAVE_OPENCV_NONFREE //表示可以使用NONFREE
//设置全局变量features_finder_为SurfFeaturesFinder(),features_finder_表示特征检测的方法,在这里是用SURF算法
stitcher.setFeaturesFinder(new detail::SurfFeaturesFinder());
#else //表示不可以使用NONFREE
//设置全局变量features_finder_为OrbFeaturesFinder(),在这里用的是ORB算法
stitcher.setFeaturesFinder(new detail::OrbFeaturesFinder());
#endif
//设置全局变量warper_为SphericalWarper(),warper_表示图像投影变换的方法,在这里是球面投影方法
stitcher.setWarper(new SphericalWarper());
//设置全局变量seam_finder_为GraphCutSeamFinderBase::COST_COLOR,seam_finder_表示寻找接缝线的算法,在这里是图割法,而且误差表面函数是直接法
stitcher.setSeamFinder(new detail::GraphCutSeamFinder(detail::GraphCutSeamFinderBase::COST_COLOR));
}
//设置全局变量exposure_comp_为BlocksGainCompensator(),exposure_comp_表示曝光补偿方法,在这里是分块增益补偿方法
stitcher.setExposureCompensator(new detail::BlocksGainCompensator());
//设置全局变量blender_为MultiBandBlender(),blender_表示融合算法,在这里是多频段融合方法
stitcher.setBlender(new detail::MultiBandBlender(try_use_gpu));

return stitcher;    //返回Stitcher类

}



estimateTransform函数用于匹配图像,并评估相机的旋转参数:



Stitcher::Status Stitcher::estimateTransform(InputArray images)
//images表示待拼接的输入图像
{
//调用另一种形式的estimateTransform函数
return estimateTransform(images, vector<vector >());
}



Stitcher::Status Stitcher::estimateTransform(InputArray images, const vector<vector > &rois)
//images表示待拼接的输入图像
//rois表示输入图像中感兴趣的矩形区域,即只对该区域进行拼接
{
images.getMatVector(imgs_); //图像赋值
rois_ = rois; //赋值

Status status;
//调用matchImages函数,用于匹配图像,该函数在后面给出介绍
if ((status = matchImages()) != OK)
    return status;
//调用estimateCameraParams函数,用于评估相机参数,该函数在后面给出介绍
estimateCameraParams();

return OK;

}


composePanorama函数用于合并拼接图像:



Stitcher::Status Stitcher::composePanorama(OutputArray pano)
//pano表示最终得到的全景图像
{
//调用另一种形式的composePanorama函数
return composePanorama(vector(), pano);
}



Stitcher::Status Stitcher::composePanorama(InputArray images, OutputArray pano)
//images表示经过变形处理后的图像
//pano表示最终得到的全景图像
{
LOGLN("Warping images (auxiliary)… ");

vector<Mat> imgs;
images.getMatVector(imgs);    //赋值
//如果imgs不为空,即输入参数images有值,则需要把images的相关值赋予imgs_
if (!imgs.empty())    //如果imgs不为空,即有值
{

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值