我正在使用tesseract-ocr-3.01来扫描多种形式。表单都遵循模板,因此我已经知道文本的区域/矩形在哪里。
使用命令行工具时,有没有办法将这些区域传递给tesseract?
答案 0 :(得分:12)
我找到了答案,感谢this thread。
似乎tesseract支持uzn格式(在unvl测试中使用)。
来自主题:
使用参数“-psm 4”调用tesseract并重命名uzn文件 与图像的相同名称似乎有效。
示例:如果我们有C:\input.tif
和C:\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);