如何从图像中识别车辆牌照/车牌(ANPR)? [关闭]
computer-vision
image
ocr
7
0

我有一个允许用户上传汽车图像的网站,我想放置一个隐私过滤器以检测车辆上的车牌并使它们模糊。

模糊不是问题,但是是否有一个库或组件(首选开放源代码)可以帮助在照片中查找许可证?

注意事项;

  1. 我知道没有什么是完美的,这种类型的图像识别会带来假阳性和阴性。
  2. 我很高兴我们可以要求用户选择要模糊的区域,我们也将这样做,但是问题特别是关于以编程方式查找该数据;因此,诸如“请人检查每张图片”之类的答案无济于事。
  3. 这种软件方法在英国称为“自动车牌识别”,但我看不到它的任何实现为库。
  4. 尽管.Net是首选,但任何语言都很棒。
参考资料:
Stack Overflow
收藏
评论
共 10 个回答
高赞 时间 活跃

几个月前,我已经对此进行了一些搜索。关于此主题的论文很多 ,但我从未找到任何具体的开源实现。虽然有很多商业实现 ,但是它们都没有报价,因此它们可能非常昂贵。

收藏
评论

http://licenseplate.sourceforge.net Python(我尚未对其进行测试)

收藏
评论

高性能ANPR图书馆- http://www.dtksoft.com/dtkanpr.php 。这是商业用途,但是它们提供了试用密钥。

收藏
评论

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

收藏
评论

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

http://opos.codeplex.com/

开源并用C#编写

收藏
评论

是的,我在http://jocr.sourceforge.net/上使用gocr,它是一个命令行应用程序,可以从您的应用程序中执行。我在几个应用程序中使用了它。

收藏
评论

我编写了基于JAVA ANPR的C#版本,但是我用OpenCV更改了awt库功能。您可以在http://anprmx.codeplex.com上进行检查

收藏
评论

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

由于您的目标越来越模糊(为了保护隐私),因此第一步基本上需要一个高召回率的检测器。这是执行此操作的方法。随附的代码提示将OpenCV与Python结合使用。

  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) 

让输入图像如下。

在此处输入图片说明

  1. 应用Sobel滤镜以检测垂直边缘。
  2. 使用严格阈值或OTSU的二值化对结果图像进行阈值处理。

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

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

步骤5之后的结果图像。

在此处输入图片说明

  1. 查找此图像的外部轮廓。

     cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) 
  2. 对于每个轮廓,找到限制它的minAreaRect()

  3. 根据长宽比,最小和最大面积以及与水平线的角度选择矩形。 (我使用2.2 <=长宽比<= 8,500 <=面积<= 15000,角度<= 45度)

所有minAreaRect()均以橙色显示,满足我们条件的一个以绿色显示。

在此处输入图片说明

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

在此处输入图片说明

  1. 模糊检测到的区域。

在此处输入图片说明

您可以应用您认为合适的其他过滤器来提高召回率和精度。还可以使用HOG + SVM训练检测以提高精度。

收藏
评论

我碰到了用java javaANPR编写的这个 ,我也在寻找ac#库。

我想要一个可以将摄像机对准某些帆船的系统,所有这些帆船上都有大的,可识别的数字,并让它们识别船并在驶过摄像机时发送一条推文。

收藏
评论

GitHub上有一个新的开源库,可对美国和欧洲的板块进行ANPR。它看起来非常准确,并且应该完全满足您的需要(识别印版区域)。这是GitHub项目: https : //github.com/openalpr/openalpr

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号