我想制作一个程序,将图像作为输入并输出文本。现在我知道我可以使用神经网络将单个字符的图像转换为该字符。困难的部分是:给定一个带有文本的图像,我如何生成每个角色周围的所有矩形?
那么使用什么样的方法,有没有人知道任何讨论如何做的研究论文?谢谢
答案 0 :(得分:9)
基本方法是制作黑色像素的直方图。第一:投射一条线上的所有像素。直方图中的深谷表示线之间的分离(如果纸可能倾斜,则尝试不同的角度)。然后,每行(或每页,如果您知道字体是等宽的)投影水平直方图上的像素。这将为您提供字符间空格的强烈指示。至少这为您提供了平均字符高度和宽度的值,这将有助于您进行后续步骤。
之后,您需要处理字距调整(字符重叠的位置)。找到连接的像素,可能首先对图像进行扩张或侵蚀,以补偿扫描伪影。
根据扫描图像的质量,您可能需要使用更高级的技术,但这样可以帮助您。
答案 1 :(得分:2)
这听起来不像是人工智能,听起来你在谈论OCR:
http://en.wikipedia.org/wiki/Optical_character_recognition
请参阅google tesseract
http://code.google.com/p/tesseract-ocr/
编辑未经编辑的问题是询问人工智能。
答案 2 :(得分:0)
对我来说,这个问题本身并不明确。
在谈到OCR时,将在此处留下几篇文章,以对他们有所帮助(至少对我有帮助):
如上所述,tesseract也是一个很好的OCR开源python库(我个人也使用该库)。您可能采取的其他方法是通过sklearn
您可能还需要检查this stackoverflow post。
我也很确定您可以使用researchgate检查那里的任何文件(我发现了一些文件,只是不确定是否是您需要的文件)
我认为上述通用答案适合通用问题。