用于iOS中文本检测的Firebase MLKit错误

时间:2018-07-13 06:08:07

标签: ios firebase firebase-mlkit

我想在我的iOS应用中使用firebase的MLKIT(用于文本识别)。我已经下载并测试了示例应用程序。但是,当我在自定义项目中使用core ml时,从iPhone相机捕获图像并对该图像使用ML Kit函数调用,则MLKit将不会显示任何结果。您能告诉我为什么它可以使用默认图像,但是在使用捕获的图像时却无法生成结果吗?

2 个答案:

答案 0 :(得分:0)

我还遇到了在iOS中使用MLKit进行文本检测的问题。我已经按照文档整合了sdk,但是错误地检测到文本并且出现了不良结果,我正在使用iPhone 6s拍照。 然后我意识到确实需要进行一些处理,最后我发现Google samples的代码实现了示例中以下突出显示的方法名,添加代码后,您需要根据图像视图调整图像的大小和缩放比例,它开始正确检测。

ps:我不确定是否可以像在Google存储库中一样在此处发布代码,因此提供链接

private func updateImageView(with image: UIImage)

答案 1 :(得分:0)

可能是图像方向问题。在创建VisionImage之前固定方向。这对我有用。

let fixedImage = pickedImage.fixImageOrientation()

添加此扩展名。

extension UIImage {
    func fixImageOrientation() -> UIImage {
        UIGraphicsBeginImageContext(self.size)
        self.draw(at: .zero)
        let fixedImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return fixedImage ?? self
    } }

另一种解决方案是,您可以将方向作为元数据提供给视觉图像,如link

所示