【发布时间】:2011-06-10 02:33:24
【问题描述】:
背景
对于我在大学的最后一个项目,我正在开发一个车牌检测应用程序。我认为自己是一名中级程序员,但是我的数学知识缺乏中学以上的任何知识,这使得生成正确的公式比应该做的更难。
我花了很多时间查找学术论文,例如:
- Detecting Vehicle License Plates in Images
- Robust License Plate Detection using Image Saliency
- Local Enhancement of Car Image for License Plate Detection
说到数学,我迷路了。由于这个测试,各种图形图像被证明是有效的,例如:
到
但是,这种方法仅适用于该特定图像,并且如果将这些技术应用于不同的图像,我敢肯定会发生较差的转换。我读过一个名为“底帽形态变换”的公式,它执行以下操作:
基本上,变换保留了图片的所有暗部细节,并消除了其他一切(包括更大的暗区和亮区)。
我找不到太多这方面的信息,但是报告末尾附近的文档中的图片显示了它的有效性。
其他限制
- 用 C# 开发
- 将项目仅限于英国车牌
- 我可以选择要转换的图像作为演示
问题
我需要关于我应该专注于开发哪些转换技术以及哪些算法可以帮助我的建议。
【问题讨论】:
-
OpenCv 是开始/扩展的好地方。我发现 C# 中的 Emgu 是 OpenCV 的非常好的端口。 emgu.com/wiki/index.php/License_Plate_Recognition_in_CSharp
-
这显然是计算机视觉类型的问题。看看OpenCV。它是用 C++ 编写的,但可能你可以interface with it somehow。
-
您可以查看一个 emgucv 示例,该示例向您展示了使用 OCR 进行车牌检测的真实工作示例emgu.com/wiki/index.php/License_Plate_Recognition_in_CSharp
-
您可以在opencv中使用矩形检测或训练类似haar的特征来检测opencv中也存在的板块
-
您可能想查看 www.openalpr.com 作为起点。它使用多种技术来查找和分析车牌。
标签: c# image computer-vision ocr object-detection