我正在尝试实施逆透视映射计算与道路上另一辆车的距离。我知道在应用该函数之前我需要生成一个包含源点和目标点的变换矩阵warpPerspective()
,但我不知道如何计算目的地点。
我在这个论坛和其他网站中搜索,但无法将第一张图片转换为第二张图片:
(source: shanetuohy.com http://shanetuohy.com/fyp/Images/img.png)
(source: shanetuohy.com http://shanetuohy.com/fyp/Images/IPMim.png)
您想要实现的目标需要您计算地平面、相机所看到的图像中的位置以及鹰视图中的位置之间的荣誉关系。
传统上,这是通过在大多数计算机视觉管道中提取特征(角点或关键点)来处理的,但这在这里是不切实际的:道路上没有特征(或变化的特征)。
您可以做的是在校准步骤中计算这些单应性,具体过程如下:
将相机放在目标车辆上。将已知的矩形图案(通常是棋盘)放在车前的平坦地面上。如果您想要公制距离,那么您还需要知道图案的尺寸,否则您将仅测量相对距离。
使用此设置拍摄校准图案的照片。
在图案的图像中,您需要检测它。这可以通过多种方式完成:如果您有图案的参考图像,则可以自动检测它,或者您可以手动单击 4 个外角。这将为您提供至少四个点对应关系(图案的每个外角各 1 个)。点对应关系是在图像点(例如,4 个角)和参考位置之间建立的,参考位置可以是图案参考图像中所述点的位置(如果 oyu 有一个),也可以是您想要的位置鹰视角中的点。
根据对应关系,估计单应性H
. H
是一个 3x3 矩阵(请参阅任何计算机视觉参考资料,无论是在线参考还是教科书)。
这将输出相机所看到的内容与校准图案的参考位置之间的转换。
如果您将图案的正面平行视图或其在鹰视图中的所需坐标作为参考,则您将获得所需的单应性。如果不是,您需要估计第二个单应性并将其结果链接起来。
请注意,此应用程序被考虑在Gary Bradski 的《学习 OpenCV》一书 http://shop.oreilly.com/product/9780596516130.do。您可以在书中阅读更多相关信息,并且可能在网上找到原始代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)