单应性矩阵和仿射变换_Homography|单应性

单应性是一种3x3的矩阵变换,用于将图像中的点映射到另一图像中对应的点,尤其适用于同一平面上的图像。计算单应性矩阵通常需要4对对应点,可以通过SVD或RANSAC方法获取。OpenCV库提供找到最佳拟合所有对应点的homography功能。单应性矩阵的应用包括图像矫正、图像扫描和虚拟广告牌等场景。
摘要由CSDN通过智能技术生成

几何变换类型

保距变换 isometry

相似变换 similarity

仿射变换 affine

射影变换 projective -> homography

What is Homography?

A Homography is a transformation ( a 3×3 matrix ) that maps the points in one image to the corresponding points in the other image.

单应性矩阵

homography只针对同一平面

How to calculate a Homography ?

摄影变换的自由度为8,一对点能产生两个方程,共需要4对对应点,即可求取H矩阵;如超过4对,通过最小二乘法或RANSAC求取最优参数

理论推导

假设一对对应点

,其中

当有n对点时,

,对A进行SVD分解,即

,取

的最后一列求解h,再转换成

矩阵即得到

[U,S,V]=svd(A);

h=V(:,9);

H= reshape(h,3,3);

工程实践

If you have more than 4 corresponding points, it is even better. OpenCV will robustly estimate a homography that best fits all corresponding points.

Usually, these point correspondences are found automatically by matching features like SIFT or SURF between the images.

'''

pts_src and pts_dst are numpy arrays of points

in source and destination images. We need at least

4 corresponding points.

'''

h, status = cv2.findHomography(pts_src, pts_dst)

'''

The calculated homography can be used to warp

the source image to destination. Size is the

size (width,height) of im_dst

'''

im_dst = cv2.warpPerspective(im_src, h, size)

Application

图像矫正

图像扫描

虚拟广告牌

虚拟广告牌

Reference

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值