2016-08-19 1 views
0

私は、アラビア語、ウルドゥー語と私はそれがエラー「プロパティのみを読ん割り当て」を与えるこのTesseract OCRで書き込み方向を設定する方法は?

G8RecognitionOperation *tesseract; 
tesseract.tesseract.writingDirection = G8WritingDirectionRightToLeft; 

のように設定しようとした私のiOS application.Whenのための他の言語たTesseractで書く方向を設定しようとしています。正しいコードで答えてください。 https://github.com/gali8/Tesseract-OCR-iOS/blob/master/TesseractOCR/G8Constants.h

答えて

2

writingDirectionプロパティは読み取り専用で、認識されたテキストが検出されたときに検出されます。

G8Constants.hのG8WritingDirectionが書き込みの可能な方向です。

私はこの画像を認識しようとした次のコードで

sample image

G8RecognitionOperation *operation = [[G8RecognitionOperation alloc] initWithLanguage:@"ara"]; 
operation.tesseract.language = @"ara"; 
operation.tesseract.image = [[UIImage imageNamed:@"ara.png"] g8_blackAndWhite]; 
operation.recognitionCompleteBlock = ^(G8Tesseract *recognizedTesseract) { 
    NSLog(@"recognizedText=%@", [recognizedTesseract recognizedText]); 
    NSLog(@"writingDirection=%lu", (unsigned long) recognizedTesseract.writingDirection); 
}; 

そして、私のように出力を得た:

recognizedText=شكر ا جزيلا 
writingDirection=1 
+0

しかし、これでは、あなた書き込みの方向は設定されていませんが、あなたはただのログです。しかし、私は、 "operation.tesseract.language = @" ara ";"私のコードではこの行が見当たりませんし、左から右に読んだテキストを認識していません。私は画像からではなく、カメラの出力から読んでいます。ご協力いただきありがとうございます。 – WasimSafdar

+0

アラビア語を認識している間、このエラー「tessdata_manager.SeekToStart(TESSDATA_INTTEMP):エラー:アサートに失敗しました:ファイルadaptmatch.cpp、行511 」が表示されます。私は "G8OCREngineModeTesseractOnly"を使用していませんが、エラーは同じままです。 – WasimSafdar

+0

Github、gali8/Tesseract-OCR-iOS、issue#209: アラビア語はG8OCREngineModeCubeOnlyでのみ動作します。 私は以下のようにG8Tesseract.mmにinitWithLanguageを変更した: - (instancetype)initWithLanguage:(NSStringの*)言語 { 場合([言語isEqualToString: "アラ" @]) リターン[自己initWithLanguage:言語configDictionary: nil configFileNames:nil cachesRelatedDataPath:nil engineMode:G8OCREngineModeCubeOnly]; else return [self initWithLanguage:言語configDictionary:なしconfigFileNames:nil cachesRelatedDataPath:なしengineMode:G8OCREngineModeTesseractOnly]; } – Thamrong

関連する問題