新手上路仿射变换矩阵如何求解?

gunner2506 2009-09-01 04:52:30
本人刚开始学习图像的匹配问题,对如何求解仿射矩阵变换不了解。
我目前遇到的问题如下:
在两帧图像种采用KLT算法各求出特征点,并建立起一一对应的匹配关系。然后我需要通过关键点对求出两副图像的仿射变换矩阵。
图像点为二维:
例如点(x,
y),经过放射变换如下:
(a0,a1,a2, (x, (x1,
a3,a4,a5, * y, = y1,
0 ,0 ,1) 1) 0)
也可以写成:
(a0,a1 (x, (a2, = (x1,
a3,a4) * y)+ a5) y1)

理论上用3对匹配点就可以建立起一个方程组求解,不过本人就会用笔算了,C语言函数应该怎么写,哪位大神能帮下忙。给点代码啊!
...全文
1150 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
grapland 2010-05-17
  • 打赏
  • 举报
回复
解线性方程组可以用高斯消元法
flyingfishouc 2010-05-02
  • 打赏
  • 举报
回复
http://sjzwl.spaces.live.com/blog/cns!42DBBA06748347AF!232.entry?wa=wsignin1.0&sa=951730642
这篇文章可能会对你有很大的帮助
flyingfishouc 2010-05-02
  • 打赏
  • 举报
回复
这个问题我也想知道。
张赐 2009-09-02
  • 打赏
  • 举报
回复
楼主
你可以看看关于 矩阵LU分解
张赐 2009-09-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 gunner2506 的回复:]
引用 3 楼 zhangci226 的回复:
你的目的是求什么

实际上M =(a0,a1,a2,a3,a4,a5,0,0,1) 中a0,a1,a2,a3,a4,a5是未知的,我所能给出是3对匹配点,比如:
(x1,y1)->(a1,b1)
(x2,y2) ->(a2,b2)
(x3,y3)->(a3,b3)
目的是求矩阵M
[/Quote]


按照你给的算式,可以写出一个6元一次方程组。用代码解方程组是比较复杂的
一般都可以把方程组写成据矩阵乘法的形式,比如

Ax=b,
A为系数矩阵, x为未知数,b为常数

比如


这种方程组的解法楼主可以参考其他书籍,比如计算方法之类的
gunner2506 2009-09-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhangci226 的回复:]
你的目的是求什么
[/Quote]
实际上M =(a0,a1,a2,a3,a4,a5,0,0,1) 中a0,a1,a2,a3,a4,a5是未知的,我所能给出是3对匹配点,比如:
(x1,y1)->(a1,b1)
(x2,y2) ->(a2,b2)
(x3,y3)->(a3,b3)
目的是求矩阵M
张赐 2009-09-01
  • 打赏
  • 举报
回复
你的目的是求什么
gunner2506 2009-09-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhangci226 的回复:]
什么东西啊

楼主把 坐标重新发一下
[/Quote]
好的
例如点(x,y),经过放射变换如下:
仿射变换矩阵为一个3*3的矩阵,写成一行为M =(a0,a1,a2,a3,a4,a5,0,0,1)
M * T(x,y,1)= T(x1,y1,1);
T表示矩阵转置,因为把矩阵打印成书面形式不方便,所以用这个方法。不好意思。。。
也可以写成:
M为一个2*2矩阵,写成一行为M = (a0,a1,a3,a4):
M * T(x,y) + T(a2,a5) = T(x1,y1).


(x1,y1)为与(x,y)对应匹配的点。
张赐 2009-09-01
  • 打赏
  • 举报
回复
什么东西啊

楼主把 坐标重新发一下

4,446

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧