我正在iOS 8中使用Tesseract进行基于OCR的应用程序,但它会将图像中的除法“÷”符号错误地转换为加号“+”符号。例如,这张图片总是被转换成文本字符串“8+4+4”,而不是“8+4÷4”。我尝试使用不同的训练数据语言文件"eng+equ"、"ita",将"÷"添加到白名单中,将ocr_engine变量设置为cube,将图像转换为灰度或黑白,将图像放大2倍和4倍,但所有尝试都返回加号"+"符号而不是除法"÷"符号。我尝试只使用"equ"训练数据文件,确实可以正确返回除法符号,但其他字符都是垃圾。我已经花了几天的时间研究这个问题(谷歌、stackoverflow),但无法解决。请问如何让Tesseract包含并识别除法"÷"符号呢?更新:我所能做的最好的办法是将AVCaptureSession预设为高。
这通常会将除法符号转换为文本“-1-”,但我见过文本中的“-:-”和其他数字和大写字符在减号之间。
我可以在返回的文本中检查这一点。但是,我们不知道是否要将返回的文本“8-1-2”视为真正的减法或“可能是”除法。
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”视为真正的减法或“可能是”除法。