Neural network 如何制作OCR程序?

Neural network 如何制作OCR程序?,neural-network,ocr,Neural Network,Ocr,我想做一个程序,把图像作为输入输出文本。现在我知道我可以使用神经网络将单个字符的图像转换为该字符。困难的部分是:给定一个包含文本的图像,如何生成每个字符周围的所有矩形?我可以用什么方法来做呢?这听起来不像是人工智能,听起来像是在谈论OCR: 请参阅google tesseract 编辑未经编辑的问题是关于人工智能的。一种基本方法是制作黑色像素的直方图。第一:将所有像素投影到一条线上。组图中的深谷表示线之间的间隔(如果纸张可能倾斜,请尝试不同的角度)。然后,每行(或每页,如果你知道字体是单间距

我想做一个程序,把图像作为输入输出文本。现在我知道我可以使用神经网络将单个字符的图像转换为该字符。困难的部分是:给定一个包含文本的图像,如何生成每个字符周围的所有矩形?我可以用什么方法来做呢?

这听起来不像是人工智能,听起来像是在谈论OCR:

请参阅google tesseract


编辑未经编辑的问题是关于人工智能的。

一种基本方法是制作黑色像素的直方图。第一:将所有像素投影到一条线上。组图中的深谷表示线之间的间隔(如果纸张可能倾斜,请尝试不同的角度)。然后,每行(或每页,如果你知道字体是单间距的)将像素投影到水平直方图上。这将为您提供字符间空格的强烈指示。作为最低要求,这将为您提供一个平均字符高度和宽度的值,这将在接下来的步骤中帮助您

之后,您需要注意字距调整(字符重叠的地方)。找到连接的像素,可能首先对图像进行膨胀或腐蚀,以补偿扫描伪影


取决于扫描图像的质量,您可能需要使用更先进的技术,但这会让您成功。

对我来说,问题本身似乎并不清楚

当它谈到OCR时,这里将留下几篇文章,他们可能会有所帮助(他们至少帮助了我):

如上所述,还有一个很好的OCR开源python库(我个人也使用这个库)。您可能采取的其他方法是通过

您可能还需要检查

我也很确定你可以用它来检查任何文件(我找到了一些,只是不确定这是否是你需要的)


我认为上面的一般答案适合一般问题。

@quanta AI和OCR不是一回事。称之为人工智能,你描述的是错误的东西。这很有趣,因为虽然我认为你描述的方法有时会很有效,但它无法学习?神经网络可以被训练成更好地阅读单个符号,但一旦它变得完美,运用你的想法,我觉得它可能会受到这部分程序的限制。你认为是这样还是我判断错误?啊,我有点误解了你的问题。传统的方法是1)图像增强2)分割3)字符识别(使用NN)4)使用上下文信息(字典查找或应用统计数据)。您基本上可以选择使用NN进行分段,或者使用NN组合2)和3)。后者将具有挑战性,但具有潜在优势。如果你想把神经网络应用到分割中,你必须想出好的特征。使用直方图谷可能是其中之一(我自己没有这样做,所以真的无法预测结果)。祝贺你!你几乎彻底改造了霍夫变换。嗨,通常是这样,如果一个问题不清楚,那么最好在清楚之前不要回答它。如果你认为已经有了一个答案来回答这个问题,那就加倍了。