【python】由一组对应特征点确定一种变换矩阵

 时间:2026-02-12 01:00:26

1、先给出两组点作为对应的特征点,每一组各有五个点。

point1=np.uint8(np.random.random((5,2))*10)

point2=np.uint8(np.random.random((5,2))*10)

【python】由一组对应特征点确定一种变换矩阵

2、计算每一组特征点的重心坐标:

c1=np.mean(point1,axis=0)

c2=np.mean(point2,axis=0)

【python】由一组对应特征点确定一种变换矩阵

3、计算每组特征点坐标的标准差:

s1 = np.std(point1)

s2 = np.std(point2)

【python】由一组对应特征点确定一种变换矩阵

4、把每组特征点的重心放到原点位置上,并且坐标值除以标准差。

p1=(point1-c1)/s1

p2=(point2-c2)/s2

【python】由一组对应特征点确定一种变换矩阵

5、把p1转置,并和p2进行矩阵乘法:

A=np.matrix(p1.T)*np.matrix(p2)

【python】由一组对应特征点确定一种变换矩阵

6、对矩阵A进行奇异值分解:

u,v,w=np.linalg.svd(A)

【python】由一组对应特征点确定一种变换矩阵

7、构造变换矩阵:

R = (u*w).T

M=np.vstack([np.hstack(((s2 / s1) * R,

                      c2.T - (s2 / s1) * R * c1.T)),

                        np.matrix([0., 0., 1.])])

【python】由一组对应特征点确定一种变换矩阵

  • fopen函数的用法
  • vmware怎么卸载
  • opencv如何卸载干净
  • TeXLive2021安装方法
  • 如何给python安装图像处理库opencv?
  • 热门搜索
    曲靖旅游景点大全 深圳旅游社 济南旅游地图 梅州旅游景点 同里旅游 青海省旅游局 港澳旅游报价 青藏旅游 休闲农业旅游 大连旅游路线