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