swift - 有没有办法让 MLVision 的文本识别速度更快?

标签 swift firebase firebase-mlkit text-recognition

我正在为我的应用程序使用 MLVision 云文本识别。我拍摄/上传一张照片,然后开始这个过程。当它识别图像并提取文本时,我将其分开并将每个分开的 block 附加到一个数组中。

下面的代码是整个过程。

    lazy var vision = Vision.vision()
    var textRecognizer: VisionTextRecognizer!
    var test = [] as Array<String>



override func viewDidLoad() {
        super.viewDidLoad()

        let options = VisionCloudTextRecognizerOptions()
        options.languageHints = ["en","hi"]
        textRecognizer = vision.cloudTextRecognizer(options: options)
    }


//where pickedImage is the image that user captures.
let visionImage = VisionImage(image: pickedImage)
            textRecognizer.process(visionImage, completion: { (features, error) in
                guard error == nil, let features = features else {
                    self.resultView.text = "Could not recognize any text"
                    self.dismiss(animated: true, completion: nil)
                    return
                }

                for block in features.blocks {
                    for line in block.lines{

                        //for element in line.elements{
                        self.resultView.text = self.resultView.text + "\(line.text)"

                    }
                }
                self.separate()

            })

func separate(){
        let separators = CharacterSet(charactersIn: (":)(,•/·]["))
        let ofWordsArray = self.resultView.text.components(separatedBy: separators)

        for word in ofWordsArray{

            let low = word.trimmingCharacters(in: .whitespacesAndNewlines).lowercased()
            if low != ""{
            test.append(low)
            }


        }
        print(test)
    }

一切正常,我得到了我想要的结果。问题是我认为真的很慢。整个过程大约需要20秒。有没有办法让它更快? 提前致谢。

最佳答案

您正在使用 VisionCloudTextRecognizer。速度将取决于您的连接,在我的情况下它只有几秒钟。您的另一个选择是使用设备上的文本识别或使用混合方法,您首先在设备上检测,然后再使用 Cloud API 进行更正。

关于swift - 有没有办法让 MLVision 的文本识别速度更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56515940/

相关文章:

ios - 如何在 ios 中将 Google map 标记从一个位置平滑地动画化到另一个位置

ios - 字典没有在 swift 5 中保存在 Userdefault 中

ios - 如何使用 swift 获取表格单元格中的结果

ios - Firebase Firestore 在同一应用中使用两个不同的实例

node.js - Firebase Cloud Functions 与 TypeScript : Realtime Database update ends with success but not updates anything, JS 工作正常

android - 无法解析 Android 应用程序模块的 Gradle 配置

java - 当用户通过 Android map 传递特定位置时,如何显示消息?

android - 使用 OCR 移动视觉将图像锚定到检测到的文本

android - 动态模块功能和 ML Kit 在 App 打开时崩溃

google-cloud-platform - 用于调用 AutoML Vision 模型预测的移动应用程序