如何定位在不同光照条件下拍摄的图像的白色标记

时间:2013-02-09 08:28:32

标签: matlab image-processing

我在不同光线条件下拍摄了两张相同道路的照片,如下图所示

enter image description here 第一张照片是在晚上拍摄的,第二张照片是在白天拍摄的。我必须写一个通用代码来确定两个轻微场景的道路的白色车道标记。我已经尝试过类似索贝尔边缘检测,连接组件的方法,并且还试图通过在白色像素值上应用条件来找到白色通道标记。但是对第一个图片起作用的算法在第二个图片上不起作用。请指导我

2 个答案:

答案 0 :(得分:3)

这肯定会失败,因为有很多不同的条件可以从中获取这些图片,但这里有一些适用于这些图片的步骤。它们可能与其他技术一起使用更加有用,这些技术完全取决于您正在执行的任务。

使用max(R, G, B)开始使用比平时更粗的形态渐变(例如,使用5x5平面结构元素)(这相当于将输入转换为HSB颜色空间并在那里选择通道B )。这假设标记是白色的,就像问题标题所暗示的那样,这一步骤可能会突出显示。

将当前图像二值化为低阈值,因为输入中的标记不是那么重要,接着是形态关闭和细化。在这里,这种关闭操作起到了廉价部件关闭的作用以及每个部件的孔填充。细化将有助于区分您可能追求的线条与您当然不存在的线条。

现在,您可以测量组件以尝试选择您所追求的组件。像素计数和涉及凸壳的测量是有趣的。从后面你可以提取平均卡尺直径,对于线段,它将给出一个更接近像素数的值。

以下是个别结果,以及最终结果:

enter image description here enter image description here

enter image description here enter image description here

错误的线段可以通过考虑它是如何“非白”来消除,也可以使用更多特定问题的信息,例如这些段的预期角度。

答案 1 :(得分:0)

泳道检测是一个经过深入研究的主题。我会先给你一些论文的名字,但这绝不是一份全面的清单。你应该做更多的文献调查。如果您正在为课程项目执行此操作,那么只需了解核心思想并尝试实现,否则,您将必须完全理解这些文章。

  1. 在具有挑战性的情况下进行稳健的车道检测和跟踪
  2. 城市街道车道标记的实时检测
  3. 使用车辆定位改进基于视觉的车道跟踪器性能使用车辆定位提高基于视觉的车道跟踪器性能
  4. 3代码也可用,但除非你理解没有实际文件的代码。