首页 > 编程知识 正文

matlab获取图像坐标,matlab如何批量定义点的坐标

时间:2023-05-05 23:22:39 阅读:136857 作者:1193

1 .基础知识

1.1矩阵乘法

行*列

C=[A1*b11 a2*b21 a3*b31、a1*b12 a2*b22 a3*b32、a1*b13 a2*b23 a3*b33]

例:

1 * 42 * 73 *1=21,1 * 52 * 83 *1=24,1 * 62 * 93 *5=39

结果是[ 21,24,39 ]

1.2求逆矩阵

按定义计算逆矩阵。

例:

用MatLab解

A=[456; 789; 15 );

b=inv(a )

B=

-2.58331.58330.2500

2.1667-1.1667-0.5000

0.0833-0.08330.2500

*b

ans=

1.0000-0.00000

-0.00001.00000

-0.0000-0.00001.0000

B*A

ans=

1.0000-0.0000-0.0000

01.0000-0.0000

001.0000

2 .世界坐标系与用户坐标的相互变换

如果将世界坐标系设为WCoord,用户坐标系设为UCoord,将从世界坐标系向用户坐标系的变换矩阵设为T1,则UCoord内的点Ptu在WCoord上的坐标Ptw=Pt*T1。 WCoord内点Ptw在UCoord中的坐标为Ptu=Pt*T1^-1。

用VX=(x1,x2,x3 ),vy=) y1,y2,y3 ),vz=) z1,z2,z3 ),坐标原点用p ) p1,p2,p3 ),用向量表示坐标系

注意:VX、VY、VZ都是单位向量

示例:用户坐标系为

VX=(0.7071067811,0.7071067811,0 ) )。

vy=; - 0.7071067811,0.7071067811,0 )

vz=(0,0,1 );

p=(1000,1000,1000 ) )。

用户坐标系下的点P1=(500,500,500 ) )。

求出世界坐标系下P1的坐标点Pw

解:也就是说,相当于先在世界坐标系中描绘P1点,平移旋转后变换为用户坐标系。

用Matlab求解

//用户坐标系的矩阵表示c

A=[0.70710678110.707106781100; -0.70710678110.707106781100; 010; 001 );

B=[1000; 0100; 010; 1000100010001];

C=A*B

C=

1.0e 003*

0.00070.000700

-0.00070.000700

000.00100

1.00001.00001.00000.0010

注意:点是齐次坐标点。

pt=[0001];

pt1=pt*C

pt1=

1000100010001

pt=[5005005001];

pt1=pt*C

pt1=

1.0e 003*

1.00001.70711.50000.0010

即pw=(1000,1707.1,1500 );

示例:将世界坐标系的点转换为用户坐标系

用户坐标系是相同的。

在世界坐标系中,pt=(-100,200,-300 ) )。

求出用户坐标系下pt的坐标Pu

解开:

用Matlab求解

A=[0.70710678110.707106781100; -0.70710678110.707106781100; 010; 001 );

B=[1000; 0100; 010; 1000100010001];

C=A*B;

是d=inv(c )

D=

1.0e 003*

0.0007-0.00070.00000

0.00070.00070.00000

000.00100

-1.41420-1.00000.0010

pt=[-100200-3001];

pt1=pt*D

pt1=

1.0e 003*

-1.34350.2121-1.30000.0010

pu (-1343.5029、212.1320、-1300.00 ) ) ) ) ) ) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。