POCO M3相机返回不可读图像字节致Flutter ML Kit人脸检测失败
POCO M3机型ml_kit_face_detection人脸检测失效问题排查
我在Flutter项目中使用ml_kit_face_detection实现人脸检测功能,该功能在多数机型上运行正常,但POCO M3机型无法完成人脸检测。
相机拍摄的原图无法正常读取,尝试转换为base64编码后仍不可读,将其转为PNG格式后得到如下图片:
排查建议:
- 确认权限配置:检查POCO M3上应用是否已获取
CAMERA和READ_EXTERNAL_STORAGE权限,部分国产ROM权限管控严格,需确保权限被授予且未被后台限制。 - 强制图片格式:POCO M3相机默认输出的图片格式可能不被ml_kit兼容,建议强制相机输出标准JPEG格式后再传入检测接口。
- 升级依赖版本:尝试将
ml_kit_face_detection升级至最新稳定版,旧版本可能存在特定机型的兼容性bug。 - 图片预处理:在检测前对图片进行预处理,比如缩放至合适尺寸、转换为RGB色彩空间,部分机型的图片通道顺序可能与ml_kit预期不符。
- 关闭硬件加速:尝试强制ml_kit使用CPU模式运行检测,避免与POCO M3的GPU加速配置冲突,示例代码如下:
final faceDetector = FaceDetector( options: FaceDetectorOptions( performanceMode: FaceDetectorMode.fast, enableTracking: false, enableLandmarks: false, enableClassification: false, ), );
内容的提问来源于stack exchange,提问作者Urma
相关产品推荐
相关产品推荐

