Я начал проект, который содержит распознавание символов с помощью Tesseract! Я хочу, чтобы после распознавания символов открыть новый viewController (EditViewController), но все, что я пробовал, все это не работает.ViewController не появляется после pushViewController
Вот мой код:
-(void)recognizeImageWithTesseract:(UIImage *)image{
GPUImageAdaptiveThresholdFilter *stillImageFilter = [[GPUImageAdaptiveThresholdFilter alloc] init];
stillImageFilter.blurRadiusInPixels = 4.0;
UIImage *bwImage = [stillImageFilter imageByFilteringImage:image];
// Animate a progress activity indicator
[self.activityIndicator startAnimating];
self.imageToRecognize.image = bwImage;
G8RecognitionOperation *operation = [[G8RecognitionOperation alloc] init];
operation.tesseract.language = @"eng";
operation.tesseract.engineMode = G8OCREngineModeTesseractCubeCombined;
operation.tesseract.pageSegmentationMode = G8PageSegmentationModeAutoOnly;
operation.delegate = self;
operation.recognitionCompleteBlock = ^(G8Tesseract *tesseract) {
NSString *recognizedText = tesseract.recognizedText;
NSLog(@"%@", recognizedText);
EditViewController *viewControllerB = [[EditViewController alloc] initWithNibName:@"UploadViwController" bundle: nil];
viewControllerB.ocrText = recognizedText;
[self.navigationController pushViewController:viewControllerB animated:YES];
};
[self.operationQueue addOperation:operation];
}
Is 'self.navigationController'' nil'? Иначе, если он находится в фоновом режиме (блочная часть), вам нужно сделать это в основном потоке (все, что связано с пользовательским интерфейсом, должно выполняться в основном потоке). – Larme
@ Larme Да, это ноль все время! Но я не могу также поставить только сам, потому что он выдает синтаксическую ошибку! –
что вы имеете в виду, «все это не удается»? Какое исключение вы получаете? Или контроллер представления нажат, но он пуст? – beeef