OCR引擎从图像中捕获字符

时间:2012-08-09 02:59:38

标签: c# ocr tesseract tessnet2

我正在使用c#tessnet2包装器来为Tesseract OCR引擎捕获图像文件的字符。如果tessnet2有任何内置函数来覆盖某些字符并将它们保存到它正在读取的相同图像文件中但是没有发现任何相关内容,我一直在各处搜索。所以我正在考虑做的是根据我从tessnet2收到的内容创建一个新的想象文件,但我需要以相同的方式创建新图像,但在新创建的图像中只更改一些内容。我不确定我是否使用了正确的方法,或者是否有其他c#程序集允许您从图像文件中读取字符,同时允许您根据需要进行操作。

2 个答案:

答案 0 :(得分:1)

祝你好运 - 但​​是tess无法用正确的字体替换。光栅图形通常不存储字形信息。即使这样做,你也可能违反了你所写的字体的许可和/或版权。我不是OCR的专家,但我会自信地说,这是不容易获得的东西在野外。

答案 1 :(得分:0)

扩展Brian的答案: 你需要自己做。我没有使用Tesseract,但我使用了Nuance OCR引擎。它将返回字体信息以及它已识别的字符的坐标(请注意,您很可能必须计算实际图像坐标,因为OCR引擎在执行识别之前会对图像进行校正)。获得坐标和偏移校正以便计算实际坐标后,您可以使用任何图像处理库(Leadtools,Accusoft等)或直接使用GDI +函​​数清除字符,然后使用字体信息和大小信息创建一个新角色并将其合并到图像中。这不是微不足道的,但肯定是可行的。

编辑:
我写下初始答案时已经很晚了,想澄清字体信息的含义。 OCR引擎会为您提供有关点大小的信息,无论是粗体/斜体还是字体系列(Seriph)等)。我不知道哪个会告诉你文件的确切字体。如果你有一个你要处理的文件样本,那么你可以根据OCR引擎给你的信息做出很好的猜测。