这是一个普遍的问题,请原谅我不提供代码,但假设我已成功训练网络识别多种字体和多种字体,图像中存在各种不同的噪音和扭曲。
(只是技术性,模型训练的图像只有36 * 36灰度图像,模型是一个简单的分类器,有一些conv2d
层)
现在我想使用这个训练有素的模型及其所有参数并给它一些东西来阅读,以便变成一个完整的OCR程序。这就是我被困住的地方。我想给程序一张纸的照片/扫描,让它识别所有的字母。但是,当图像明显大于用单个字母训练的图像时,如何使用我的模型“预测”?
我尝试添加额外的conv2d
图层,试图读取部分图像的功能,但这太复杂了,我无法理解。
我还查看了opencv
程序,这些程序识别出图像中有文本的位置并将其裁剪掉,但我找不到任何单独的字母,现在可以将这些字母输入到训练有素的模型中读取。
我的下一步是什么?
答案 0 :(得分:1)
如果整个图像中字母的字体相同,您可以使用所谓的:" 滑动窗口技术"
从左上角开始,向右滑动扫描窗口以查看字母大小,直至到达纸张末尾。
滑动窗口将是扫描字母的大小,当输入到神经网络时,它将输出字母。将这些字母保存在某处。
其他方法包括改变您的神经网络,以及更聪明地检测扫描纸上的文本斑点
如果您正在寻找现成的解决方案,请查看Tessaract-ocr。
答案 1 :(得分:1)