您好我正在尝试使用Tesseract OCR(iOS),但每当我从我拍摄的照片中选择一张图片或者从我当地的照片中选择一张图片时,我都会得到:
警告:图片尺寸不大!
请在尝试识别前调用SetImage .2014-06-14 20:44:07.613数学[431:60b]内部计算
请在尝试识别前调用SetImage.2014-06-14 20:44:07.614 Do Math [431:60b]无识别文本。检查 - [Tesseract setImage:]是否传递大于0x0的图像。
我的方法“计算”如下:
- (void)calculate
{
Tesseract* tesseract = [[Tesseract alloc] initWithLanguage:@"eng+ita"];
tesseract.delegate = self;
[tesseract setVariableValue:@"abcdefghijklmnopqrstuvwxyz" forKey:@"tessedit_char_whitelist"];
[tesseract setImage:_image];
[tesseract recognize];
NSLog(@"%@", [tesseract recognizedText]);
tesseract = nil; //deallocate and free all memory
}
关于
[tesseract setImage:_image];
_image是我开始的实例变量:
UIImage *_image;
在有人拍照或通过以下方式选择照片后分配:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
self.imageView.image = chosenImage;
chosenImage = _image;
[picker dismissViewControllerAnimated:YES completion:NULL];
}
我是通过cocoapods https://github.com/gali8/Tesseract-OCR-iOS
下载的我做错了什么? _image是一个UIImage,这就是setImage所期待的!
答案 0 :(得分:1)
使用_image = chosenImage而不是chosenImage = _image。
可能会工作。