标签: anpr

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

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

模糊不是问题,但有一个库或组件(首选开源)有助于在照片中找到许可证吗?

注意事项;

  1. 我知道没有什么是完美的,这种类型的图像识别将提供误报和否定.
  2. 我感谢我们可以要求用户选择要模糊的区域,我们也会这样做,但问题是关于以编程方式查找数据; 所以诸如"让一个人检查每个图像"之类的答案是没有用的.
  3. 这种软件方法在英国被称为"自动车牌识别",但我看不出它作为库的任何实现.
  4. 虽然.Net是首选,但任何语言都很棒.

ocr image computer-vision anpr

67
推荐指数
6
解决办法
10万
查看次数

将JavaAnpr本地化为本地牌照

我正在使用JavaAnpr来自动识别车牌.虽然它适用于欧洲车牌,但它不适用于我的国家.例如;

来自我国的车牌

我如何编辑追索文件和语法XML以支持其他国家/地区?

java anpr

21
推荐指数
1
解决办法
6182
查看次数

车牌识别 - 确定像素比较的颜色范围

经过大量关于车牌检测的工作后,我决定在图像中简单地找到黄色像素的"图案"将是在图像中找到牌照位置的充分方法.目前,我使用各种图形滤镜并检测白色像素图案,但这被证明是越来越成问题的.

现在提出这个问题,我知道'黄色'牌照是基于诸如亮度,环境等众多因素. 替代文字 替代文字

洞察这一点我需要一个范围来比较,例如:

if(FindIfYellow(GetPixel(x,y)))

但是我不知道是否使用RGB值,特别是单个RGB值来确定颜色是否为黄色阴影.最后是否有一个定义这些范围的网站或某种信息?我知道

R:255 G:255 B:0

是最纯净的黄色,但就范围而言,我不知道.无论如何,希望这是一个合理的想法,我发布的原因是为了确保我不会忽视某些东西,就像我经常做的那样:).

c# image colors image-processing anpr

15
推荐指数
1
解决办法
4313
查看次数

在进行字符识别之前使用OpenCV进行图像预处理(tesseract)

我正在尝试开发用于车牌识别的简单PC应用程序(Java + OpenCV + Tess4j).图像并不是很好(进一步说它们会很好).我想为tesseract预处理图像,而我却坚持检测车牌(矩形检测).

我的步骤:

1)源图像

真实的形象

Mat img = new Mat();
img = Imgcodecs.imread("sample_photo.jpg"); 
Imgcodecs.imwrite("preprocess/True_Image.png", img);
Run Code Online (Sandbox Code Playgroud)

2)灰度

Mat imgGray = new Mat();
Imgproc.cvtColor(img, imgGray, Imgproc.COLOR_BGR2GRAY);
Imgcodecs.imwrite("preprocess/Gray.png", imgGray);
Run Code Online (Sandbox Code Playgroud)

3)高斯模糊

Mat imgGaussianBlur = new Mat(); 
Imgproc.GaussianBlur(imgGray,imgGaussianBlur,new Size(3, 3),0);
Imgcodecs.imwrite("preprocess/gaussian_blur.png", imgGaussianBlur);  
Run Code Online (Sandbox Code Playgroud)

4)自适应阈值

Mat imgAdaptiveThreshold = new Mat();
Imgproc.adaptiveThreshold(imgGaussianBlur, imgAdaptiveThreshold, 255, CV_ADAPTIVE_THRESH_MEAN_C ,CV_THRESH_BINARY, 99, 4);
Imgcodecs.imwrite("preprocess/adaptive_threshold.png", imgAdaptiveThreshold);
Run Code Online (Sandbox Code Playgroud)

这应该是第5步,即检测板区域(现在可能甚至没有偏斜).

我使用Paint从图像(第4步之后)开始需要区域,并得到:

板块区域

然后我做了OCR(通过tesseract,tess4j):

File imageFile = new File("preprocess/adaptive_threshold_AFTER_PAINT.png");
ITesseract instance = new Tesseract();
instance.setLanguage("eng");
instance.setTessVariable("tessedit_char_whitelist", "acekopxyABCEHKMOPTXY0123456789");
String result = instance.doOCR(imageFile); 
System.out.println(result);
Run Code Online (Sandbox Code Playgroud)

并得到(足够好?)结果 - "Y841ox EH"(几乎是真的)

如何在第4步后检测并裁剪板区?我是否需要在1-4步中进行一些更改(改进)?希望看到一些通过Java …

java opencv tesseract anpr tess4j

14
推荐指数
1
解决办法
1万
查看次数

OpenCV色彩浓度直方图

我正在使用OpenCV开发一个ANPR系统,并在一些文章中看到了一种进行字符分割的方法.我们的想法是制作一个图表,显示图像上的颜色浓度.

我该怎么做呢?

在此输入图像描述

这是我的形象:

在此输入图像描述

我需要检测如上所示的黑色区域的位置以识别每个字符.

我已经尝试逐个像素地添加值,但我在Android上这样做,这需要时间是不可接受的.

ocr opencv computer-vision anpr

9
推荐指数
1
解决办法
3503
查看次数

寻找用于Android的ANPR/LPR(自动车牌识别/车牌识别)SDK

我正在为Android寻找ANPR/LPR(自动车牌识别/车牌识别)SDK ..是否有适用于Android的SDK?

我想为Android开发车牌识别软件,用户可以使用手机摄像头扫描盘子并识别号码.

我试过像Tesseract这样的光学字符识别(OCR)引擎,但准确性太差了.

我有什么方法可以使用OCR吗?

ocr android tesseract anpr

6
推荐指数
2
解决办法
2万
查看次数

针对不同格式的板材的JavaANPR培训

我找到了JavaANPR库,我想自定义它来阅读我国的车牌.

似乎包含的字母表与我们使用的字母表不同(http://en.wikipedia.org/wiki/FE-Schrift)

以下是我国的车牌示例(http://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Malta)

我已经修改了syntax.xml以包含我们板块语法的定义(三个字母后跟三个数字)

但是库的文档很缺乏,我还没有找到联系作者的方法.

从我可以看到,我必须创建一个新的字母表,在我们的板上使用的字体,并为它训练神经网络.我试图这样做(尽我所能)但它仍然无法识别我们的盘子.

使用过图书馆的人是否知道本地化过程需要什么?我需要知道如何创建一个新的字母表以及如何正确地训练它.我不确定在config.xml文件中是否还需要更改.

谢谢

java anpr

5
推荐指数
1
解决办法
2182
查看次数

4
推荐指数
1
解决办法
5076
查看次数

从车辆图像中提取车牌

我正在开发一个anpr应用程序,我已设法从车辆图像中找到车牌区域. 以下是我提取的车牌图像

当我将这个图像输入到tesseract OCR引擎时,似乎在"C"之前检测到一个字符"L",所以我想要取出号牌区域周围剩余的黑色像素.是否有一种特殊的方法可以解决这个问题?我在这种情况下使用aforge.net库

干杯

c# image-processing aforge anpr

2
推荐指数
1
解决办法
2635
查看次数

使用android进行车牌识别

我想知道是否有人可以使用扫描车上的登记牌然后将该号码添加到java中的字符串中?我一直在四处寻找并遇到过这个问题

https://github.com/SandroMachado/openalpr-android

但我不确定这正是我想要的?

有人知道任何可能有用的东西吗?提前致谢!

java android image-processing anpr

1
推荐指数
1
解决办法
7834
查看次数