自动车牌识别系统

时间:2011-09-20 10:24:50

标签: matlab image-processing computer-vision ocr anpr

我目前正在做一个关于识别后侧车辆牌照的项目,我已经完成了OCR作为预备步骤,但我不知道如何检测矩形(这是有关区域的车牌,我已经阅读了很多论文,但在没有找到有关识别车牌矩形区域的有用信息的地方。我正在使用matlab进行我的项目。请有人帮我这个......

非常感谢

3 个答案:

答案 0 :(得分:3)

正如您所提到的,至少有两个不同的阶段:

  1. 找到图片中的号牌
  2. 从图像中识别许可证编号
  3. 由于车牌号没有嵌入任何位置标记(例如在QR码中找到),因此通过限制输入图像的变换范围,可以降低识别图像中车牌号的复杂程度。

    许多ANPR系统的成功依赖于捕获设备的位置和定时的准确性,以获得将数字板置于可预测的失真范围内的图像。

    一旦捕获了图像,就可以通过使用统计分析来处理位置阶段,以定位图像内的“车牌”形区域,即对于透视具有正确比例的区域。 This article描述了一种这样的方法。

    This paperanother one描述了使用Sobel边缘检测器来定位车牌上的垂直边缘。原因是与背景相比,字母形成更多的垂直线。

    Another paper比较了一些技术(包括Sobel检测和Haar小波)的有效性,可能是一个很好的起点。

答案 1 :(得分:2)

我完成了'基于OCR的车辆识别'的项目

一般来说, LPR 包含三个主要阶段:从捕获的图像中提取车牌,提取单个字符的图像分割和字符识别。车牌检测的所有上述阶段都是最具挑战性的,因为它对天气状况,照明条件和车牌位置以及其他人工制品(如车牌,符号或徽标)非常敏感,这些人工制品放置在车牌图片上,在印度,许可证编号被写入无论是一行还是两行。

对于LPR系统而言,速度和准确度都是非常重要的因素。在一些文献中,准确度水平良好但系统的速度较低。像模糊逻辑和神经网络方法一样,准确度水平很好,但它们非常耗时且复杂。在我们的工作中,我们在时间复杂性和准确性之间保持平衡。我们使用边缘检测方法和垂直和水平处理进行车牌定位。使用'Roberts'运算符完成边缘检测。具有一些适当阈值的连通分量分析(CCA)用于分割。对于字符识别,我们使用了相关函数的模板匹配,并提高了我们使用增强型数据库的匹配级别。

我的项目方法

  1. 从网络摄像头/摄像头输入图像。
  2. 将图像转换为二进制。
  3. 检测车牌区域。
  4. 分割。
  5. 号码识别。
  6. 在GUI上显示。
  7. 我的号牌提取方法

    1. 从网络摄像头/摄像头输入。
    2. 将其转换为灰度图像。
    3. 计算阈值。
    4. 使用Roberts的操作员进行边缘检测。
    5. 计算水平投影。
    6. 通过与1.3倍阈值进行比较,水平裁剪图像。
    7. 计算垂直投影。
    8. 垂直裁剪图像。
    9. 我的细分方法

      1. 将提取的图像转换为二进制图像。
      2. 查找提取的二进制图像的补充图像。
      3. 删除像素值小于面积的2%的连接组件。
      4. 计算连接组件的数量。
      5. 对于每个连接的组件,找到行和列值
      6. 计算动态阈值(DM)。
      7. 通过应用特定条件从分段字符中删除不需要的字符
      8. 存储分段字符坐标。
      9. 我的识别方法

        1. 初始化模板。
        2. 对于每个分段字符重复步骤2到7
        3. 将分段字符转换为数据库图像大小,即24x42。
        4. 找到每个数据库图像的分段字符的相关系数值,并将该值存储在数组中。
        5. 找出数组中最大值的索引位置。
        6. 找到通过该索引值链接的字母
        7. 将该字母存储在数组中。

答案 2 :(得分:1)

查看OpenALPR(http://www.openalpr.com)。它使用OpenCV和LBP / Haar算法识别板区域。这使它能够识别光板区域上的暗和暗两种光。识别出一般区域后,它会根据图像中的强线/边缘使用OpenCV进行本地化。

它是用C ++编写的,所以希望你可以使用它。如果没有,至少它是一个参考。