我试图使用tflite模型分析相机预览帧,使用CameraX api。
这份文件描述了如何使用ImageAnalyzer处理传入帧。目前这些帧是作为YUV传入的,我不知道如何将YUV图像数据传递给期望形状输入(BATCHxWIDTHxHEIGHTx3)的tflite模型。在旧的API中,您可以指定预览输出格式并将其更改为rgb,但是这个页面明确指出"CameraX生成YUV_420_888格式的图像“。
首先,我希望有人已经找到了一种将RGB传递给分析器而不是YUV的方法,其次,如果没有,有人能建议将YUV图像传递给TFLite解释器吗?传入的图像对象是ImageProxy类型的,它有3个平面,Y、U和V。
发布于 2020-06-04 18:19:16
AFAIK,ImageAnalysis用例只提供YUV_420_888格式的图像(您可以看到它定义了这里)。
官方的CameraX文档提供了一种将YUV图像转换为RGB位图的方法,它位于本节的底部。
有关演示如何将Media.Image对象从YUV_420_888格式转换为RGB位图对象的示例代码,请参见YuvToRgbConverter.kt。
https://stackoverflow.com/questions/62201227
复制相似问题