如何从图像中识别车牌/车牌号码(ANPR)?

我有一个网站,允许用户上传汽车的图像,我想放置一个隐私filter,以检测车牌上的牌照,并模糊他们。

模糊不是一个问题,但有一个图书馆或组件(开源优先),这将有助于在照片中find许可证?

注意事项;

  1. 我知道没有什么是完美的,这种types的图像识别将提供假阳性和阴性。
  2. 我明白,我们可以要求用户select模糊的区域,我们也会这样做,但问题是具体关于以编程方式查找数据; 所以诸如“让一个人检查每个图像”等答案是没有帮助的。
  3. 这种软件方法在英国被称为“自动车牌识别”,但我不能看到它作为库的任何实现。
  4. 任何语言都很棒,但.Net是首选。

我编写了基于JAVA ANPR的C#版本,但是我用OpenCV更改了awt库函数。 你可以查看http://anprmx.codeplex.com

编辑 :我为此写了一个Python脚本 。

由于你的目标是模糊的(为了保护隐私),你基本上需要高召回检测器作为第一步。 以下是如何去做这件事。 包含的代码提示在Python中使用OpenCV。

  1. 转换为灰度。
  2. 应用高斯模糊。

    img = cv2.imread('input.jpg',1) img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) img_gray = cv2.GaussianBlur(img_gray, (5,5), 0) 

让input图像如下。

在这里输入图像说明

  1. 应用Sobel Filter来检测垂直边缘。
  2. 使用严格阈值或OTSU的二值化阈值合成图像。

     cv2.Sobel(image, -1, 1, 0) cv2.threshold() 
  3. 使用合适的结构元素应用形态闭合操作。 (我用16×4作为结构元素)

     se = cv2.getStructuringElement(cv2.MORPH_RECT,(16,4)) cv2.morphologyEx(image, cv2.MORPH_CLOSE, se) 

在步骤5之后生成图像。

在这里输入图像说明

  1. find这个图像的外部轮廓。

     cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) 
  2. 对于每个轮廓,find包围它的minAreaRect()

  3. 根据纵横比,最小和最大面积以及与水平的angular度来select矩形。 (我用2.2 <=长宽比<= 8,500 <=面积<= 15000,angular度<= 45度)

所有minAreaRect()都以橙色显示,符合我们标准的是绿色的。

在这里输入图像说明

  1. 这个步骤之后可能会出现误报,对其进行过滤,使用边缘密度。 边缘密度定义为矩形中白色像素数量/像素总数 。 设置边缘密度的阈值。 (我用0.5)

在这里输入图像说明

  1. 模糊检测到的区域。

在这里输入图像说明

您可以应用其他您认为合适的filter来提高召回率和准确度。 也可以使用HOG + SVM训练检测以提高精度。

GitHub上有一个新的开放源代码库,用于美国和欧洲板块的ANPR。 它看起来相当准确,它应该做你所需要的(认识板块区域)。 这是GitHub项目: https : //github.com/openalpr/openalpr

我碰到这是用java javaPRO写的,我也在找ac#库。

我希望有一个系统,我可以把一台摄像机指向一些帆船,所有这些帆船都有大量的可识别的号码,并且当它们驶过摄像机时识别船只并发送推文。

几个月前,我已经做了一些Googlesearch。 关于这个话题有不less文章 ,但我从来没有find具体的开源实现。 虽然有很多商业实现 ,但没有一个价格报价,所以他们可能相当昂贵。

试试这个简单的自动车牌识别系统

http://opos.codeplex.com/

开源并用C#编写

看看Java ANPR 。 免费车牌识别…

高性能的ANPR库 – http://www.dtksoft.com/dtkanpr.php 。 这是商业的,但他们提供试用钥匙。

http://licenseplate.sourceforge.net Python(我还没有testing过)

这可能是因为有很多图书馆执行相同的事情,所以在angular色感知软件看。 我阅读一个图像并存储它。 Micrsoft办公室能够读取tiff文件并返回字母数字

模糊不是一个问题,但有一个图书馆或组件(开源优先),这将有助于在照片中find许可证?

Ans: CARMEN FreeFlow ANPR软件引擎 (Commerical)

Interesting Posts