2016-12-05 5 views
0

を認識していない私は、このイメージを持っている:imgのiOSたTesseract

私はたTesseractでこれらの文字を認識しようとしていますが、私はいつも_u_i.i_1、L_n_.tのようないくつかのランダムな文字列を取得します。ここに私のコードです:

let tesseract = G8Tesseract.init(language: "eng") 
if let tes = tesseract{ 
    tes.image = img.g8_blackAndWhite() 
    tes.engineMode = .cubeOnly 
    tes.pageSegmentationMode = .auto 
    tes.maximumRecognitionTime = 60 
    tes.recognize() 
    //... 
} 

私はhereでこのコードを見つけたし、それが彼らのために正常に動作します。もちろん、私は完全に明るいイメージを使用していないので、結果が悪いために準備されましたが、どうして良い結果が得られないのかわかりません。

+1

あなたのイメージの最も暗い部分、つまりテキストに接する図形を認識するTesseractのようです。 –

+0

おそらく。しかし、今私は123の中心部にある巨大な白い画像でテストし、それを認識することができました。実際には、私は私のプロジェクト(2日前)ですべてを(スクリーン、論文、電話など)スキャンしてtesseractを実装して以来、まったく良い結果を見たことはありません – kemkriszt

+0

それで、白い背景にテキストがありましたが、望みの結果ではありませんか? –

答えて

0

このリンクを試すことができますhttps://github.com/BradLarson/GPUImage。その後、tessdata langauges storeの下にコードを追加します。私はそれがあなたを助けると思う。

func storeLanguageFile() throws{ 
    var fileManager: FileManager = FileManager.default 
    let nsDocumentDirectory = FileManager.SearchPathDirectory.documentDirectory 
    let nsUserDomainMask = FileManager.SearchPathDomainMask.userDomainMask 
    let docDirectory = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true)[0] as NSString 
    let path: String = docDirectory.appendingPathComponent("/tessdata/eng.traineddata") 
    if fileManager.fileExists(atPath: path){ 
     var data: NSData = NSData.dataWithContentsOfMappedFile((Bundle.main.resourcePath?.appending("/tessdata/eng.traineddata"))!)! as! NSData 
     var error: NSError 
     try FileManager.default.createDirectory(atPath: docDirectory.appendingPathComponent("/tessdata"), withIntermediateDirectories: true, attributes: nil) 
     data.write(toFile: path, atomically: true) 
    } 
} 
関連する問題