泰米尔语 Tesseract OCR 无法在 swift 中工作

问题描述 投票:0回答:1

我使用 tesseract 来表示英语和泰米尔语。它在 Swift 英语中完美运行。我可以看到在 tessdata 文件夹中有很多英语文件,例如 enlgish.cube.nn、english.cube.lm .. 等文件。但我找不到类似泰米尔语的文件。我所拥有的就是这个 tam.traineddata 文件。我从 Google Code 下载了所有文件。所有文件都是最新的。 appStore 中有一些应用程序可以从图像中提取泰米尔文本。我不知道人们是如何做到这一点的。

当我将包含图像的泰米尔语文本传递给 Tesseract 时,我收到错误,例如没有 tam.cube.lm、tam.cube.size 等文件。我在互联网上搜索了很多,但找不到泰米尔语的文件。

请帮助我,在哪里可以找到这些文件。?

代码如下 ->

import UIKit

protocol ValueFromTesseractProtocol
{
    func textRecognizedFromImage(text : String, booleanValue : Bool)
}

class TesseractModel: NSObject
{
    var delegate : ValueFromTesseractProtocol!

    //MARK: - Creating sharedInstance

    class var sharedInstance: TesseractModel {

        struct Static {

            static var sharedInstance: TesseractModel?
            static var token: dispatch_once_t = 0
        }

        dispatch_once(&Static.token) {
            Static.sharedInstance = TesseractModel()
        }

        return Static.sharedInstance!
    }

    //MARK: - imageRecognition

    func imageRecognition(image : UIImage)
    {
        let tesseract = G8Tesseract()
        tesseract.language = "eng+tam"
        tesseract.engineMode = G8OCREngineMode.CubeOnly
        tesseract.maximumRecognitionTime = 60.0
        tesseract.pageSegmentationMode = G8PageSegmentationMode.Auto
        tesseract.image = image.g8_blackAndWhite()
        tesseract.recognize()

        if let recognizedText  = tesseract.recognizedText
        {
            // Call delegate - Pass value

            self.delegate.textRecognizedFromImage(recognizedText, booleanValue: true)
        }
        else
        {
            // Call delegate - Nil Value
            self.delegate.textRecognizedFromImage("", booleanValue: false)

        }
    }
}
ios objective-c iphone swift tesseract
1个回答
0
投票

如果你在印度,那么我在我的项目中尝试过这个。我将图像转换为 pdf,然后使用 pdf 来提取文本。如果 pdf 的质量不好,则提取效果最差。 使用adobe制作pdf并拆分,也尝试使用ilovepdf结果很好。 如果您需要进一步的帮助,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.