我正在使用 tesseract-ocr-3.01 扫描许多表格。表格都遵循模板,所以我已经知道文本的区域/矩形在哪里。
使用命令行工具时,有没有办法将这些区域传递给 tesseract?
多亏了这个帖子,我找到了答案。
tesseract 似乎支持 uzn 格式(用于 unvl 测试)。
从线程:
使用参数“-psm 4”调用 tesseract 并用图像的相同名称重命名 uzn 文件似乎有效。
示例:如果我们有C:\input.tif
and C:\input.uzn
,我们这样做:
tesseract -psm 4 C:\input.tif C:\output
这可能不是最佳答案,但这里有:
我不确定命令行工具是否具有指定文本区域的选项。
您可以做的是在另一个平台上使用 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);