当前位置:   article > 正文

图像几何纠正之:OpenCV实现薄板函数模型(TPS)对图像进行几何纠正_薄板样条函数正射影像修正

薄板样条函数正射影像修正

摘要:前段时间做了一个正射影像道路错开修复的项目,其中的关键是采用薄板函数模型对单张正射进行几何纠正,最后对纠正后的单张正射进行羽化拼接达到道路错开修复的效果(展示我做后处理的结果图)。当然,中间了遇到了一些困难,比如影像匹配效果不稳定和下文要讲的OpenCV中TPS接口的参数定义错误。下面是我利用OpenCV实现TPS时候遇到的一个问题:

1. 首先看看OpenCV中实现TPS功能的接口定义

(1)图片
OpenCV中TPS功能接口函数参数的定义

(2)OpenCV的源代码

/** @brief Estimate the transformation parameters of the current transformer algorithm, based on point matches.

    @param transformingShape Contour defining first shape.
    @param targetShape Contour defining second shape (Target).
    @param matches Standard vector of Matches between points.
     */
    **CV_WRAP virtual void estimateTransformation(InputArray transformingShape, InputArray targetShape,  std::vector<DMatch>& matches) = 0;**
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2 正确的使用OpenCV的TPS接口

发现了吗?OpenCV中给的参数说明是,第一个点数组是目标点数组(目标形状),第二个点数组是起始坐标(开始时的形状),但如果这样用了,你会怀疑TPS的功能是否能满足你的要求。。。。。防止其他人和我一样跳入这个参数定义误导的坑,我分享该博客,下面是正确的使用方式:

std::cout << "\n正在TPS纠正第1张影像.....\n\n";
	m_TPSTransformer = cv::createThinPlateSplineShapeTransformer(0.0);
	m_TPSTransformer->estimateTransformation(leftGoalPtrs, leftStartPtrs, PointMatchesL);
	m_TPSTransformer->warpImage(inLeftImage, tpsOutLeftImage, cv::INTER_CUBIC);

	std::cout << "正在TPS纠正第2张影像......\n\n";
	m_TPSTransformer = cv::createThinPlateSplineShapeTransformer(0.0);
	m_TPSTransformer->estimateTransformation(rightGoaltPtrs, rightStartPtrs, PointMatchesR);
	m_TPSTransformer->warpImage(inRightImage, tpsOutRightImage, cv::INTER_CUBIC);

	inLeftImage.release();
	inRightImage.release();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

其中 leftGoalPtrs是目标坐标的vector数组,leftStartPtrs是起始坐标的vectors数组,当然,怎么由leftStartPtrs和rightStartPtrs我们在这不需要关心,只需明白,estimateTransformation(leftGoalPtrs, leftStartPtrs, PointMatchesL)参数顺序为:目标形状、起始映射,而非OpenCV给的参数说明中的起始形状、点对映射

3. 下面是我用TPS模型实现的正射影像道路错开修复效果

欢迎提问和共同交流。
DOM道路错开修复前后效果对比图

希望对你有所帮助!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/128794
推荐阅读
相关标签
  

闽ICP备14008679号