Tesseract:指定文本区域

时间:2012-10-19 09:57:09

标签: ocr tesseract

我正在使用tesseract-ocr-3.01来扫描多种形式。表单都遵循模板,因此我已经知道文本的区域/矩形在哪里。

使用命令行工具时,有没有办法将这些区域传递给tesseract?

2 个答案:

答案 0 :(得分:12)

我找到了答案,感谢this thread

似乎tesseract支持uzn格式(在unvl测试中使用)。

来自主题:

  

使用参数“-psm 4”调用tesseract并重命名uzn文件   与图像的相同名称似乎有效。

示例:如果我们有C:\input.tifC:\input.uzn,我们会这样做:

tesseract -psm 4 C:\input.tif C:\output

答案 1 :(得分:3)

这可能不是最佳答案,但这里有:

我不确定命令行工具是否具有指定文本区域的选项。

您可以做的是在另一个平台上使用Tesseract包装器(EmguCV内置Tesseract)。因此,您可以获取扫描图像,裁剪文本区域,并一次一个地将它们分配给Tesseract。这样,您还可以避免Tesseract页面布局分析中的任何不准确之处。

例如

Image<Gray,Byte> scannedImage = new Image<Gray,Byte>(path_to_scanned_image);
//assuming you know a text region
Image<Gray,Byte> textRegion = new Image(100,20);
scannedImage.ROI = new Rectangle(0,0,100,20);
scannedImage.copyTo(textRegion);
ocr.recognize(textRegion);