亿加合和智能车制作

标题: 关于梯形失真的解决 [打印本页]

作者: sonwendi    时间: 2011-12-1 23:45
标题: 关于梯形失真的解决
本帖最后由 sonwendi 于 2011-12-1 23:50 编辑

看到有同学问这个问题,之前我发过帖子详细讲了桶形失真的解决方法,接下来简单的讲解一下梯形的解决:
我先说一下我这个思路能达到的目的:将图像中黑线的坐标转换到实际的距离坐标,比如采集的图像中某一行黑线位置在3/4处,通过计算可以算出距离坐标原点(摄像头正下方处)Y=20CM,X=80CM,然后可以用算法优化路径。

图像采集中需要将3-D客观场景投影到2-D像平面。这个投影可用几何透视变换(也称为成像变换)描述(Fu,1987)。下图给出一个成像过程的几何模型示意图:


[attach]16359[/attach]

在图1里,设世界坐标系与摄像机坐标系重合,像平面坐标系x’y’与摄像机坐标系的xy平面重合(以下用xy表示x’y’),光轴与z轴重合。像平面中心位于原点处,镜头中心坐标(0,0, λ), λ是镜头的焦距。





(X,Y,Z)3-D空间中任意点W的世界坐标。由相似三角形可得:
[attach]16360[/attach]
则可得到空间3-D点投影后的像平面坐标:
[attach]16361[/attach]

这些等式是非线性的,因为其中含有变量Z。下面借助齐次坐标将它们表示成线性矩阵形式。


空间点坐标XYZ的齐次坐标定义为(kX,kY,KZ,k),其中k1个任意的非零常数。很明显,将齐次坐标变回笛卡尔坐标可用第4个坐标量去除前3个坐标量得到。这样1个笛卡尔坐标系中的点可用矢量形式表示为:

W=[X Y Z]T

其对应的齐次坐标可表示为:

Wh=[kX kY kZ k]T

如果定义透视变换矩阵为:



[attach]16362[/attach]


它和Wh的乘积PWh给出1个记为Ch的矢量:
[attach]16363[/attach]
这里Ch的元素是齐次形式的摄像机坐标,这些坐标可用Ch的第4项分别去除前3项转换成笛卡尔形式。所以,摄像机坐标系中任意一点笛卡尔坐标可表式成矢量形式:
[attach]16364[/attach]


在智能车路径识别中,摄像头坐标系与空间坐标系关系建立如下:
[attach]16365[/attach]


我再解释一下最后这个式子:计算X坐标用到一个负号,和减去一个2.4,是因为摄像头是倒装,摄像头成像4.8mm,减去中心计算的就是相对于中间的坐标。
可以借用MATLAB等工具解算出参数,直接带到单片机里面做运算~

作者: 芸纤飘羽    时间: 2011-12-2 08:51
呵呵 有些 看不明白不过  就是强 这样是个办法 在研究研究
作者: lzcangel    时间: 2011-12-2 09:29
厉害啊,不过摄像头倒装是什么意思?如果正装的话呢
作者: znfc2    时间: 2011-12-2 12:12
摄像头倒装?是不是为了时间分配?
作者: sonwendi    时间: 2011-12-2 15:37
回复 3# lzcangel


    倒着放是为了近处的先处理~边采集便提取黑线
作者: sonwendi    时间: 2011-12-2 15:38
回复 4# znfc2


    倒着放是为了近处的先处理~边采集便提取黑线
作者: znfc2    时间: 2011-12-2 15:51
回复 6# sonwendi


   边采集边提取黑线?那时间够不够啊?提取更远的黑线貌似需要之前黑线的信息,算法神马的需要时间,或许我的代码效率太低了吧
作者: sonwendi    时间: 2011-12-2 22:11
回复 7# znfc2


    采集是近处隔的行数比较多,远处就基本上逐行采集了~所以近处可以边采集边提取黑线,当然如果你要用高级算法就不行了
作者: lzcangel    时间: 2011-12-2 22:40
公式Y,X的单位是厘米还是毫米啊
作者: sonwendi    时间: 2011-12-2 23:07
回复 9# lzcangel


    第一行讲得很清楚,目的是计算出厘米
作者: 夜落_归根    时间: 2012-1-2 00:49
学习学习学习~~
作者: yaphets_perfect    时间: 2012-1-2 13:55
一直觉得这个并不重要,毕竟我们需要的只是中心线而已,梯形并不会改变中心线的位置吧。
作者: sonwendi    时间: 2012-1-2 20:53
回复 12# yaphets_perfect


   那远处的黑线偏离了中心线,我又想知道它的实际距离怎么办?
作者: Nothingkid    时间: 2012-1-2 20:58
宋学长V5
作者: yaphets_perfect    时间: 2012-1-2 22:12
回复 13# sonwendi


    弯道的确有点问题,但是做了梯形校正以后,应该会使视野变小吧,远处的,有一部分为没有,照这么分析
作者: sonwendi    时间: 2012-1-3 13:26
回复 15# yaphets_perfect


   不太明白你说的什么意思,我是为了扩大视野范围才用的短焦镜头,而且算法决定了我的失真必需得解决
作者: binglong2011    时间: 2012-1-4 21:22
????????
作者: sinea2012    时间: 2012-2-11 11:08
α是摄像头俯角吗?
Dz是摄像头高度吗?
1.8又是什么意思?
作者: 征服者    时间: 2012-2-16 11:13
这么处理不浪费时间吗
作者: 冰封寒焰    时间: 2012-2-17 10:44
加广角镜不行么
作者: sonwendi    时间: 2012-2-18 16:02
sinea2012 发表于 2012-2-11 11:08
α是摄像头俯角吗?
Dz是摄像头高度吗?
1.8又是什么意思?

对,1.8是镜头的焦距
作者: sonwendi    时间: 2012-2-18 16:02
征服者 发表于 2012-2-16 11:13
这么处理不浪费时间吗

这样处理效果好呀
作者: sonwendi    时间: 2012-2-18 16:02
冰封寒焰 发表于 2012-2-17 10:44
加广角镜不行么

广角镜头也可以矫正,取决于你用什么算法
作者: tao475824827    时间: 2012-2-18 16:47
sonwendi 发表于 2012-2-18 16:02
广角镜头也可以矫正,取决于你用什么算法

怎么换头像了。。

作者: sonwendi    时间: 2012-2-19 17:00
tao475824827 发表于 2012-2-18 16:47
怎么换头像了。。


换个清纯的~
这张网上没有,搜不到的~
作者: 532327593    时间: 2012-2-19 19:09
还是不不是很懂呀,
作者: 532327593    时间: 2012-2-19 19:17
这个方法能把这种失真纠正回来赛?纠正成实际的直赛道哈
作者: 征服者    时间: 2012-2-20 14:41
sonwendi 发表于 2012-2-18 16:02
这样处理效果好呀

我的意思啊,单片机处理的速度能跟上吗,你是这么做的吗

作者: sonwendi    时间: 2012-2-21 02:35
征服者 发表于 2012-2-20 14:41
我的意思啊,单片机处理的速度能跟上吗,你是这么做的吗

可以,算法会简化很多
作者: sinea2012    时间: 2012-2-21 21:51
thank you!
作者: 芸纤飘羽    时间: 2012-2-22 11:28
好像不处理 也行 只看怎么用是不是

作者: zbl9212    时间: 2012-3-10 20:24
不同的摄像头  那个1.8 和 2.4 是一样的吗   怎么确定的?
作者: 齐天小晟    时间: 2012-3-15 20:59
不是很看得懂,开始的时候都这样,我还要好好研究一下
作者: 巍巍城    时间: 2012-3-22 12:56
Y=20CM,X=80CM是什么意思啊
作者: zhenghongxinzhx    时间: 2012-3-29 13:29
一开始觉得这个不要,现在觉得挺重要的。
想问一下楼主:像头成像4.8mm  是什么意思啊?-2.4不明白。
作者: zhenghongxinzhx    时间: 2012-3-29 13:30
zbl9212 发表于 2012-3-10 20:24
不同的摄像头  那个1.8 和 2.4 是一样的吗   怎么确定的?

1.8是摄像头焦距,不同摄像头一般不一样的。
2.4我就不知道是什么东东了  同问

作者: Mr.Simple    时间: 2012-4-1 19:46
版主,不进行矫正的话用什么方法寻线会比较好呢,两边线呈梯形状,我检测两个线怎么才能得到中线

作者: czrushman    时间: 2012-4-25 20:57
何必这么麻烦
作者: haoxinrui    时间: 2012-5-9 23:39
我进行梯形校正后,测得仅图像校正就用时约120ms,而不加校正话每一幅图像的处理周期只有20ms,这样看来失真校正的代价是不是太大了?
还有请教哈校正后对于图像中丢失的像素该怎样处理啊?

作者: 快乐的可小巴    时间: 2012-5-19 12:12
能把公式更具体化参数的设定和定义吗?求助,方便的话把资料发到,qq:462290633
作者: sonwendi    时间: 2012-5-19 12:48
haoxinrui 发表于 2012-5-9 23:39
我进行梯形校正后,测得仅图像校正就用时约120ms,而不加校正话每一幅图像的处理周期只有20ms,这样看来失真 ...

你的算法肯定太复杂了,对于单片机你要简化算法,很多情况只需要考虑理论情况即可,最后得到的结果会有误差,只要可以接受就行
作者: weichuiweicao    时间: 2012-6-26 19:42
α是不是就是摄像头的倾角
作者: 晓磊。。。    时间: 2012-6-28 16:13
又是数学?怕啊
作者: 沉思乐署1    时间: 2012-7-7 22:27
有点复杂,在看看
作者: flyeastlxl    时间: 2012-7-8 00:04
其实用个查表法不就得了~
作者: flyeastlxl    时间: 2012-7-8 00:04
你们摄像头又不是会动的~~~~
作者: zhao1992629    时间: 2013-2-23 23:02

作者: w57831221    时间: 2013-2-27 14:02
暂时还看不懂,慢慢学
作者: zsshexiangtou    时间: 2013-3-8 11:01
请问Dz   和  式子中的角度是什么??
作者: zsshexiangtou    时间: 2013-3-10 10:20
楼主能不能给点文档参考
作者: zsshexiangtou    时间: 2013-3-10 12:14
[attach]41734[/attach]最近在看图像梯形校正的资料,在网上搜到一篇文章,感觉写的不错,和大家共享。个人觉得最后一种方法——几何建模,先计算出具体参数,再带入单片机进行计算,比较方便实用。
但是我不是很明白,在文章中提到的几何建模法中,每个变量的含义,尤其是小写的l,和大写的L,H,各代表啥意思。(f肯定是代表焦距的)不知道有哪位大侠明白的,希望赐教!!

作者: 378110705    时间: 2013-3-10 12:53
楼主辛苦了额
作者: sonwendi    时间: 2013-3-20 20:44
zsshexiangtou 发表于 2013-3-10 10:20
楼主能不能给点文档参考

[attach]42396[/attach]

[attach]42395[/attach]


作者: 百川汇流    时间: 2013-3-20 22:21
厉害呀!
作者: zsshexiangtou    时间: 2013-3-21 12:15
sonwendi 发表于 2013-3-20 20:44

您终于回复了,太感谢了!

作者: 忧天杞人    时间: 2013-3-21 14:31
校正梯形失真具体有什么作用呢
作者: sonwendi    时间: 2013-4-10 12:47
忧天杞人 发表于 2013-3-21 14:31
校正梯形失真具体有什么作用呢

图像看成是正常的啊,尤其对于需要计算精确角度和斜率的~
作者: Insane    时间: 2015-4-3 13:33
很难懂哦
作者: @狼/#燎牙    时间: 2015-4-3 22:34
好头像啊。。。本来坐车郁闷到不行。。。看了版主的头像。。。心情瞬间好多了
作者: 偶然say    时间: 2015-10-10 16:44
我想问道一下,那么写入单片机的事什么,什么参数,还有很多技术报告中提到了矫正表和反矫正表到底是什么?困扰了很久
作者: ztf076126    时间: 2016-1-25 13:06
66666666
作者: wdlsl    时间: 2016-3-11 20:56
能加你QQ吗?
作者: zx776083532    时间: 2016-6-16 16:31
大神,在各种坐标系中,成像的过程中,什么对应的是图像的中心位置 ?那么逆透视变换的时候,原点应当取在哪里呢?
作者: WonderSeven    时间: 2017-5-21 16:40
学习学习




欢迎光临 亿加合和智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2