【发布时间】:2012-09-28 14:38:54
【问题描述】:
我必须从视频流中识别图像中的数字,还有更多的东西应该使识别更容易:
1) 固定字体为 6x8,所有符号等宽
2) 我知道数字的确切位置,它们总是矩形的,没有旋转/倾斜/缩放,但由于空气传输故障可能会出现一些失真。
3) 只有数字和 .
4) 数字背景为半黑色(50% 不透明)
我尝试过 tesseract v2 和 v3,但 .NET 包装器并不完美,识别错误非常大,即使我使用自定义字体进行了训练,据我所知,这是因为分辨率小。
我自己做了非常简单的算法,将图像转换为黑白并计算原始字体图像和流中图像之间的匹配像素,它的性能比 tesseract 更好,但我认为更复杂的算法会做得更好。
我尝试使用带有 BackPropagationLearning 的 ActivationNetwork 训练 AForge,但它无法收敛(本文第一部分,只要我不需要缩放和几种字体 http://www.codeproject.com/Articles/11285/Neural-Network-OCR,据我了解,文章中的代码适用于较旧的AForge 版本),糟糕的是,这个项目不再受支持,论坛已关闭,据我所知,谷歌群组也是如此。
我知道 .NET 有 OpenCV 端口,据我所知,它的网络方法与 AForge 不同,所以问题是哪种方法最适合。
那么有什么 .NET 框架可以帮助我解决这个问题,如果它支持多个神经网络实现,那么哪种实现最适合?
【问题讨论】:
-
尝试使用 Tesseract 的一件事是将图像升级到如果您的图像来自 300dpi 扫描书籍图像时所获得的图像。我能够通过将 Tesseract 缩放到 100 宽来让 Tesseract 处理 12 像素宽的中文
标签: c# opencv machine-learning computer-vision aforge