我必须从视频流中识别图像中的数字,还有更多的东西应该使识别更容易:
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 框架可以帮助我,如果它支持多个神经网络实现,那么哪种实现最适合?