问题描述
所以我是 Android 编程的新手,我正在尝试制作一个可以实时处理图像的应用程序。我已经实现了 the documentation 中的 Preview 用例以及 ImageAnalysis 用例。目前预览显示在 PreviewView
上,但我想在显示之前处理图像,所以简而言之,我想在 analyze()
方法中对框架做一些事情,然后显示此帧而不是 CameraX 预览。
顺便说一句,将 CameraX 用于此类目的是否有意义?最终我想使用 OpenCV 进行处理,但我选择了 CameraX,因为这样从相机获取图像很容易。
解决方法
将 ImageAnalysis
的输出显示为预览应该可以工作,但性能会受到影响,特别是如果您要首先通过 OpenCV 运行它。原型设计还可以,但我不建议将其用于真正的产品。
ImageAnalysis
的输出是 YUV_420_888。要显示它,您可以将其转换为 Bitmap
将其设置在 ImageView
上。见this script。在哪里进行转换取决于您的 OpenCV 库的输入/输出格式。