我是一名有帮助的助手,可以为您翻译中文。下面是需要翻译的内容:
当我在OCR运行时点击返回按钮,它会崩溃。因为OCR仍在运行。我该如何停止它?我在tesseract中找不到任何方法。
我在我的iPhone应用程序中使用Tesseract进行图像OCR处理。 我想在运行OCR过程时停止所有过程。
这是我的代码:
在.h文件中:
dispatch_queue_t main;
tesseract::TessBaseAPI *tesseract;
uint32_t *pixels;
在 .m 文件中:
- (void)processOcrAt:(UIImage *)image
{
[self setTesseractImage:image];
//char* utf8Text = tesseract->GetUTF8Text();
//[self performSelector:@selector(ocrProcessingFinished:) withObject:[NSString stringWithUTF8String:utf8Text]];
//dispatch_queue_t queue = dispatch_queue_create("com.awesome", 0);
main = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(main, ^{
tesseract->Recognize(NULL);
char* utf8Text = tesseract->GetUTF8Text();
[self performSelectorOnMainThread:@selector(ocrProcessingFinished:)
withObject:[NSString stringWithUTF8String:utf8Text]
waitUntilDone:NO];
delete [] utf8Text;
});
}
-(IBAction)backPressed:(id)sender{
dispatch_release(main);
tesseract->Clear();
//tesseract->End();
delete tesseract;
tesseract = nil;
delete pixels;
[self.navigationController popViewControllerAnimated:YES];
}
当我在OCR运行时点击返回按钮,它会崩溃。因为OCR仍在运行。我该如何停止它?我在tesseract中找不到任何方法。