有没有人知道用于拍摄图像并对其执行图像识别的C++库,以便它可以根据给定的字体和/或字体高度查找字母?即使是一个不让你选择字体的应用程序也不错(例如:readLetters(Image image)用于图像识别的C++库:包含要字符串的单词的图像
回答
我最近一直在研究这个问题。你最好的只是Tesseract。如果您需要在OCR上进行布局分析,而不是使用Ocropus(反过来使用Tesseract来执行OCR)。布局分析是指能够检测图像上的文本位置,并执行线段分割,块分割等。
我发现了一些真正好的提示,通过Tesseract实验值得分享。基本上我不得不为图像做很多预处理。
- 将您的输入图像放大/缩小为300 dpi。
- 从图像中去除颜色。灰度很好。我实际上使用了抖动阈值,并将输入设为黑白。
- 从图像中删除不必要的垃圾。 对于上述所有三个,我使用netbpm(一组用于unix的图像处理工具)来获得我所需要的几乎100%精度的点。
如果你有一个高度自定义的字体,并单独使用tesseract,你必须“训练”系统 - 基本上你必须喂养一堆训练数据。这在tesseract-ocr网站上有详细记录。你基本上为你的字体创建一个新的“语言”,并用-l参数传入。
我发现的另一种培训机制是Ocropus使用nueral net(bpnet)培训。它需要大量的输入数据来建立一个很好的统计模型。
在调用方面Tesseract/Ocropus都是C++。它不会像ReadLines(Image)那么简单,但有一个API可以检出。您也可以通过命令行调用。
有tesseract-ocr这是一个专业图书馆要做到这一点。
从那里网站
的正方体OCR引擎是在1995年的UNLV精度测试的前3引擎之一。1995年间和2006年它没有做任何工作,但它可能是最精确的开源OCR引擎之一
我想你想要的是Conjecture。曾经是libgocr项目。我已经使用了几年,但是如果您设置了密钥,它曾经非常可靠。
Tesseract OCR library给出了非常准确的结果,它是一个C和C++库。 我的初步结果大约80%准确,但在提供OCR之前对图像进行预处理后,结果的准确率大约为95%。 什么是预处理:
1)将位图二值化(B & W对我来说效果更好)。How it could be done
2)重采样图像为300 dpi
3)保存的图像中的无损格式,诸如LZW TIFF或CCITT组4 TIFF。
- 1. 简单的数字图像识别库
- 2. 用于识别单个字符图像的MATLAB函数
- 3. Obj-C中的图像识别库?
- 4. 图像识别库
- 5. C#类库包含图像
- 6. 让PocketSphinx识别口头字符串是否包含单词?
- 7. 用于图像识别的TensorFlow,图像大小
- 8. 图像识别软件库?
- 9. 图像纹理识别C#
- 10. 图像识别
- 11. 识别图像
- 12. 图像识别
- 13. 如何从包含图像文件的json字符串保存图像文件?
- 14. 使用包含多个图像的图像中的图像!
- 15. 识别相似图像的库
- 16. 关于图像识别的QTP问题
- 17. 使用Python图像库模糊包含文本的图像
- 18. WPF图像的字符串和字符串图像
- 19. “识别”命令未识别的图像
- 20. Objective-C中的图像/语音识别
- 21. 用于识别图像形态学关闭的npm包
- 22. 基于字符串的加载图像
- 23. 的Python:如果识别图像中包含
- 24. android上的图像识别
- 25. 图像识别的起点?
- 26. Hololens的图像识别
- 27. 在C中识别图像内的图像#
- 28. base64到图像的字符串只返回C#中的单个图像MVC
- 29. 用于检测颜色的图像识别库
- 30. 用于颜色识别的图像处理库
了解Ocropus的任何优秀文档....尤其是C++ api。 – Zombies 2009-01-27 19:19:07