Tesseract OCR无法识别除号符号“÷”。

9
我正在iOS 8中使用Tesseract进行基于OCR的应用程序,但它会将图像中的除法“÷”符号错误地转换为加号“+”符号。例如,这张图片总是被转换成文本字符串“8+4+4”,而不是“8+4÷4”。我尝试使用不同的训练数据语言文件"eng+equ"、"ita",将"÷"添加到白名单中,将ocr_engine变量设置为cube,将图像转换为灰度或黑白,将图像放大2倍和4倍,但所有尝试都返回加号"+"符号而不是除法"÷"符号。我尝试只使用"equ"训练数据文件,确实可以正确返回除法符号,但其他字符都是垃圾。我已经花了几天的时间研究这个问题(谷歌、stackoverflow),但无法解决。请问如何让Tesseract包含并识别除法"÷"符号呢?更新:我所能做的最好的办法是将AVCaptureSession预设为高。
AVCaptureSession *session = [[AVCaptureSession alloc] init];
session.sessionPreset = AVCaptureSessionPresetHigh;

上述捕获的图像尺寸为 676 × 405 像素。使用 Tesseract OCR UIImage 类别(图像名为“source”)对图像进行二值化处理:

// Binarize the source image to improve contrast (using the UIImage category provided by TesseractOCR)
UIImage *blackAndWhiteImage = [source blackAndWhite];
[self.tesseract setImage:blackAndWhiteImage];

这通常会将除法符号转换为文本“-1-”,但我见过文本中的“-:-”和其他数字和大写字符在减号之间。
我可以在返回的文本中检查这一点。但是,我们不知道是否要将返回的文本“8-1-2”视为真正的减法或“可能是”除法。

为什么这个问题被踩了? - Sebastian Wramba
3
不幸的是,OCR技术并不完美,尤其是Tesseract会将可能是单个字符的像素“粘”在一起,以弥补图片质量差的缺点,但这样会牺牲精度。基本上,Tesseract无法区分除号符号是一个印刷不清晰的“+”还是实际的除号符号。[在这里了解更多有关Tesseract读取文本的信息] (https://tesseract-ocr.googlecode.com/git/doc/tesseracticdar2007.pdf)。 - Morgan Chen
谢谢 Morgan。我曾经想过这个问题,但它没有问题,能够正确地检测和转换像“i j :;”这样的字符。 - Craig Pickering
你可以尝试在这里打开一个问题:https://github.com/gali8/Tesseract-OCR-iOS/issues 也许你会在这里得到答案。 - arturdev
5个回答

5

3

确保你的“白名单”中包含“÷”符号。

在Swift中,可以这样做:tesseract.setVariableValue("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:;,.!-()#&÷", forKey: "tessedit_char_whitelist")

在Objective-C中,代码如下:

[tesseract setVariableValue:@"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:;,.!-()#&÷" forKey:@"tessedit_char_whitelist"];

您可以根据需要自定义字符集。


我已经尝试过这个方法,结果和不使用白名单时一样。 - Craig Pickering

1
似乎现有的数据中没有包含该符号。您需要训练该符号,并将结果训练数据与现有数据组合使用。
您可以使用工具,例如jTessBoxEditor,来协助您进行训练过程。

0
在 Swift 中,更改 engineMode 对我有效。
let tesseract = G8Tesseract(language: "eng")!
tesseract.engineMode = .tesseractCubeCombined

0

您提供的链接无法访问。您能提供其他链接吗? - Ramakrishna
@Ramakrishna https://github.com/tesseract-ocr/tesseract/blob/master/doc/unicharambigs.5.asc - bnunamak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接