VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2030|回复: 5

请教大家一道数字图像几何变换题目。。。。

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-17 12:40:01 | 显示全部楼层 |阅读模式
若将任意一幅图像绕点P(x,y)=(100,260)逆时针旋转60度,求它的几何变换公式。
回复

使用道具 举报

0

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-4-9 00:15:01 | 显示全部楼层
首先将原点平移到(100,260)
即A=1 0 -100
    0 1 -260
    0 0  1
然后旋转
B=cos60 -sin60 0
  sin60 cos60  0
  0     0      1
然后在平移回来
C=1 0 100
    0 1 260
    0 0  0
综上变换为C*B*A
注意是用的齐次坐标[x,y,1]'
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-6 18:15:01 | 显示全部楼层
好         好
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-6 19:00:01 | 显示全部楼层
把旋转和平移分开计算,计算这个点旋转前后的坐标,然后作为平移的依据即可
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-6 20:45:01 | 显示全部楼层
x,y 表示 原图像坐标,X,Y 表示 新图像坐标。

X = (x - 100) * cos60 - (y - 260) * sin60 + 100;    (1)
Y = (x - 100) * sin60 + (y - 260) * cos60 + 260;    (2)

一般 旋转后图像 会 大于原图像,其宽高可由原图像的四个顶点算出。
由(1)(2)可以反推出旋转后图像中的每一点 在 原图像中 对应的位置。

x = (X - 100) * cos60 + (Y - 260) * sin60 + 100;    (3)
y = (Y - 260) * cos60 - (X - 100) * sin60 + 260;    (4)
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-6 21:30:01 | 显示全部楼层
用矩阵不就完事了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表