计算机视觉-单应矩阵

1.基本概念

单应性矩阵Homogeneous 是射影几何中的一个术语,又称之为射影变换。当相机发生纯旋转,或者若场景中的特征点都落在同一平面上(比如墙,地面等)时,计算基础矩阵F 或者本质矩阵E 往往会有很大的误差(因为此时平移量t特别小),此时需要用到单应矩阵H. 单应矩阵主要用来解决两个问题:

(1)表述真实世界中一个平面与他对应图像的透视变换

(2)通过透视变换实现图像从一个视图变换到另一个视图的转换。

把一个射影平面上的点(三维齐次矢量)映射到另一个射影平面上,并且把直接射影为直线,具有保线性,总的来说单应是关于三维齐次矢量的一种线性变换,如图所示,两个平面之间的关系可以用一个3*3的非奇异矩阵H表示x1=Hx2,H表示单应矩阵,定义了八个自由度。这种关系定义为平面单应性

使用单应矩阵H 时假设所有像素都在一个平面上,单应矩阵H 直接描绘了图像坐标之间的关系,也就是第一帧图像是怎么线性扭曲到第二帧图像的。具体的,图像1中的像素

与图像2中对应的像素满足:

将单应矩阵H展开

2.求解方法

复制代码
Mat cv::findHomography 	( 	InputArray  	srcPoints,
		InputArray  	dstPoints,
		int  	method = 0,
		double  	ransacReprojThreshold = 3,
		OutputArray  	mask = noArray(),
		const int  	maxIters = 2000,
		const double  	confidence = 0.995 
	) 	

参数:

srcPoints:源平面中点的坐标矩阵,可以是CV_32FC2类型,也可以是vector类型

dstPoints:目标平面中点的坐标矩阵,可以是CV_32FC2类型,也可以是vector类型

method:计算单应矩阵所使用的方法。方法如下:

  • 0 - 利用所有点的常规方法
  • RANSAC - RANSAC-基于RANSAC的鲁棒算法
  • LMEDS - 最小中值鲁棒算法
  • RHO - PROSAC-基于PROSAC的鲁棒算法

ransacReprojThreshold:将点对视为内点的最大允许重投影错误阈值(仅用于RANSAC和RHO方法)

mask:可选输出掩码矩阵,通常由鲁棒算法(RANSAC或LMEDS)设置.

maxIters:RANSAC算法的最大迭代次数,默认值为2000。

confidence:可信度值,取值范围为0到1.

3 参考博客

视觉SLAM:单应矩阵_slam建图和单应性矩阵-CSDN博客

https://zhuanlan.zhihu.com/p/678088930

相关推荐
LitchiCheng4 分钟前
DGX Spark 进行 Comfyui 文生图,5秒一张图
人工智能·python
只是甲8 小时前
Text2SQL 系列博客 02:技术原理深度剖析 - 从自然语言到 SQL 的完整链路
人工智能·text2sql·nl2sql·ai agent·自助数据分析·data agent·agentic 数据洞察
懷淰メ8 小时前
【AI赋能】基于PyQt+YOLO+DeepSeek水上漂浮物检测系统(详细介绍)
人工智能·yolo·目标检测·计算机视觉·pyqt·漂浮物·水上漂浮物
EQUINOX18 小时前
【论文精读】| CLIP精读
大数据·人工智能
PC2005-cloud9 小时前
博文已索引但不展示:一次 Bing SEO 问题排查记录
服务器·人工智能
weixin_408099679 小时前
2026 图片去文字 API 实战:AI一键去除图片文字(附 Python / Java / PHP / JS 完整代码)
人工智能·api接口·图片去水印·石榴智能·ai图像修复·图片去文字
greenbbLV9 小时前
2026节日慰问品政策解读:合规标准升级与福利行业新趋势
人工智能·节日
奈斯先生Vector9 小时前
告别工具碎片化:基于 Nano Banana 全模态 AI 聚合架构搭建“文本-图像-视频”自动化协同生产线
运维·数据库·人工智能·架构·自动化·aigc·音视频
领麦微红外9 小时前
国产MEMS红外测温传感器:传感器+算法+产品级出厂标定一站式交付模式深度解读
人工智能·硬件工程·产品经理
mingo_敏10 小时前
DeepAgents : 检索(Retrieval)
人工智能·深度学习·langchain