Java 将手写笔记的图像转换为文本

Java 将手写笔记的图像转换为文本,java,python,artificial-intelligence,conv-neural-network,handwriting-recognition,Java,Python,Artificial Intelligence,Conv Neural Network,Handwriting Recognition,我有数百张手写笔记的图片。它们是由不同的人编写的,但它们是按顺序排列的,因此您知道,例如,person1编写了img1.jpg->img100.jpg。笔迹的风格因人而异,但笔记的某些部分总是固定不变的,我想这可能有助于算法(这对我很有帮助!) 我尝试了tesseract,但它在识别文本时失败了。我在想,既然每个人都有大约100张图片,有没有一种算法我可以通过给它提供少量的例子来训练,比如5张或更少,它可以从中学习?还是数据不够?从四处搜索来看,似乎我需要实现一个CNN(例如) 虽然我对人工智能

我有数百张手写笔记的图片。它们是由不同的人编写的,但它们是按顺序排列的,因此您知道,例如,
person1
编写了
img1.jpg
->
img100.jpg
。笔迹的风格因人而异,但笔记的某些部分总是固定不变的,我想这可能有助于算法(这对我很有帮助!)

我尝试了
tesseract
,但它在识别文本时失败了。我在想,既然每个人都有大约100张图片,有没有一种算法我可以通过给它提供少量的例子来训练,比如5张或更少,它可以从中学习?还是数据不够?从四处搜索来看,似乎我需要实现一个
CNN
(例如)


虽然我对人工智能的知识有限,但这是不是我仍然可以通过图书馆和一些学习来做到的?如果是这样,我接下来应该怎么做?

这被称为
OCR
,并且已经取得了进展。实际上,下面是一个示例,说明使用
tesseract
将图像文件解析为文本是多么简单:

try:
    from PIL import Image
except ImportError:
    import Image
import pytesseract


def ocr_core(file):
    text = pytesseract.image_to_string(file)
    return text


print(ocr_core('sample.png'))
但是
我不太确定它是否能识别不同类型的笔迹。你可以自己试试看。如果您想尝试
python
示例,您需要导入
tesseract
,但首先要在您的操作系统上安装
tesseract
,并将其添加到您的
路径
中,有许多OCR存在,其中一些性能比其他的好。然而,随着深度神经网络的出现,这一领域最近有了很大的改进。我会考虑使用云提供商,如Azure、谷歌云或Amazon。您可以上传图像,然后返回元数据

例如:

<>如果你不想因为任何原因使用云服务,我会考虑使用TySoFr流…但需要一些知识:


试着观察tesseract OCR,你能做的就是拍摄每张图片并从中提取每个单词(使用预先训练好的CNN)——然后将每个单词组合成一个句子。否则,您可以查看RNN/LSTM,但我会先使用CNN。我尝试了您的代码,但它没有返回任何文本。作为一种理智的检查,我尝试了,我会尝试
Tensorflow
,然后
teseract
似乎无法处理这些手写笔记。