打开相机电源后,我正在尝试识别我的应用程序中的二维码。然后根据qr代码文本转移到相应的活动。
我正在Google的帮助下使用Firebase ML工具包和CameraX库进行此操作,但是ImageAnalyzer的分析方法存在错误。
ImageAnalyzer使我可以实现分析方法,即使该方法已经实现。但是它有两个参数:(imageProxy:ImageProxy ?,度:Int),并说它不覆盖任何内容。如果我删除第二个参数(度数:整数),则它可以识别,但不能识别“度数”。
我尝试遵循一些规范,但是它们使用了大量的第三方库。我想使用cameraX和ML Kit。
我该如何解决?
这是我的代码:
sprintf()
答案 0 :(得分:1)
查看您的代码段,似乎您使用的是camera-camera2版本beta04和camerax-view版本alpha11。
文档可能已过时,Analyzer
现在仅在其analyze
回调内收到ImageProxy
。以前也传入的学位信息现在可以通过ImageProxy.getImageInfo().getRotationDegrees()
访问。
所以您的分析仪应该看起来像这样
private class MyImageAnalyzer : ImageAnalysis.Analyzer {
private fun degreesToFirebaseRotation(degrees: Int): Int {
// ...
}
override fun analyze(imageProxy: ImageProxy) {
val mediaImage = imageProxy.image
val imageRotation = degreesToFirebaseRotation(imageProxy.imageInfo.rotationDegrees)
val image = FirebaseVisionImage.fromMediaImage(mediaImage, imageRotation)
// ...
}
}