使用OpenCV进行消失点检测(附代码)
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
消失点的定义:消失点是透视图图像平面上的一个点,三维空间中相互平行的线的二维透视投影(或图形)似乎会聚。图像中的所有东西似乎都汇聚在一个点上,这个点被称为消失点。如上图所示,右侧图像中心的“红点”是图像的消失点。让我们尝试使用OpenCV、Python和C++来找出图像中的这个消失点。
第一步,我们将找到图像中的所有线条,线条应该至少有几个像素长。
第二步,我们将过滤这些找到的直线,过滤将根据直线的角度、水平面及其长度进行。
第三步,我们将利用上述两个步骤中找到的线来找到图像的消失点。需要注意的是,消失点近似于这些线的交点。
通过采用上述方法中提到的简单步骤,我们可以实时获得高精度的图像中的消失点。下面显示了一些图像的输出,其中红点是计算出的消失点。
项目代码链接:
https://github.com/KEDIARAHUL135/VanishingPoint.git
代码解释:
1.https://www.scribd.com/document/510883652/Vanishing-Point2.https://drive.google.com/file/d/1iundsMKpeOYUU6c5ATgK9ovWdRbiZkaW/view?usp=sharing
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~