我有一个网站,允许用户上传汽车图像,我想放置一个隐私过滤器来检测车辆上的车牌并对其进行模糊处理。

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

注意事项;

  1. 我知道没有什么是完美的,这种类型的图像识别会提供误报和漏报。
  2. 我很高兴我们可以要求用户选择要模糊的区域,我们也会这样做,但问题具体是关于以编程方式查找该数据;因此,诸如“让人检查每张图像”之类的答案没有帮助。
  3. 这种软件方法在英国被称为“自动车牌识别”,但我看不到它作为库的任何实现。
  4. 任何语言都可以,但 .Net 是首选。
有帮助吗?

解决方案

我基于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)  
    

让输入图像如下。

enter image description here

  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 后的结果图像。

enter image description here

  1. 找到该图像的外部轮廓。

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

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

全部 minAreaRect()s 以橙色显示,满足我们标准的以绿色显示。

enter image description here

  1. 此步骤之后可能会有误报,要过滤它,请使用边缘密度。边缘密度定义为 白色像素数/总像素数 在一个矩形中。设置边缘密度阈值。(我用的是0.5)

enter image description here

  1. 模糊检测到的区域。

enter image description here

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

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

我发现这个是用java写的 javaANPR, ,我也在寻找一个 C# 库。

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

几个月前我已经对此进行了一些谷歌搜索。有 相当多的论文 关于这个主题,但我从未找到任何具体的开源实现。有 很多商业实现 不过,但它们都没有报价,所以它们可能相当昂贵。

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

http://opos.codeplex.com/

开源并用 C# 编写

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

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

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

http://licenseplate.sourceforge.net Python(我没有测试过)

看看字符识别软件也许可行,因为有很多库可以执行相同的操作。我读取图像并存储它。Microsoft Office 能够读取 tiff 文件并返回字母数字

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

答: CARMEN FreeFlow ANPR 软件引擎 (商业)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top