jenly1314 / MLKit

🌝 MLKit是一个强大易用的工具包。通过ML Kit您可以很轻松的实现文字识别、条码识别、图像标记、人脸检测、对象检测等功能。
https://jenly1314.github.io/MLKit/
Apache License 2.0
892 stars 160 forks source link

ImageUtils.imageProxyToBitmap解析Image错误 #4

Closed wangzd4661 closed 2 years ago

wangzd4661 commented 2 years ago

BarcodeScanningAnalyzer中,使用ImageUtils.imageProxyToBitmap转Bitmap部分机型会失败(测试设备Lenovo TB-J606F),解析出的bitmap结果如下。 bitmap 解决方案可以参考:google mlkit sample中的BitmapUtils的getBitmap方法 https://github.com/googlesamples/mlkit/blob/master/android/vision-quickstart/app/src/main/java/com/google/mlkit/vision/demo/BitmapUtils.java

jenly1314 commented 2 years ago

好的,我后续抽空验证下。

jenly1314 commented 2 years ago

BarcodeScanningAnalyzer中,使用ImageUtils.imageProxyToBitmap转Bitmap部分机型会失败(测试设备Lenovo TB-J606F),解析出的bitmap结果如下。 bitmap 解决方案可以参考:google mlkit sample中的BitmapUtils的getBitmap方法 https://github.com/googlesamples/mlkit/blob/master/android/vision-quickstart/app/src/main/java/com/google/mlkit/vision/demo/BitmapUtils.java

麻烦用测试设备(Lenovo TB-J606F) 验证下 1.0.3 版本

wangzd4661 commented 2 years ago

已修复,Lenovo TB-J606F需要搭配ResolutionCameraConfig使用,使用默认配置会导致获取的图像被裁切得太小,很难正确获取到包含二维码的图像,导致识别率很低。建议 demo 配置一个CameraConfig。

jenly1314 commented 2 years ago

已修复,Lenovo TB-J606F需要搭配ResolutionCameraConfig使用,使用默认配置会导致获取的图像被裁切得太小,很难正确获取到包含二维码的图像,导致识别率很低。建议 demo 配置一个CameraConfig。

CameraConfig相关配置就需要看实际需求了,根据自己的需要去配置,ResolutionCameraConfig 只是内部提供的配置策略之一。你能知道有 ResolutionCameraConfig 这个类,表示你至少是看过demo或CameraConfig的相关说明;这一点是个很好的习惯。Demo中示例有很多,有加了 ResolutionCameraConfig 的,详情见 BarcodeScanningActivity

中间有一个版本默认使用的是 ResolutionCameraConfig 这种配置策略,但是也可能会导致某些低端机型很难识别的的问题。 这是之前别人反馈的问题之一 , 因为Android设备的机型实在太多,我无法一一去测试验证, 所以最终的默认配置还是还原成以前CameraX的默认配置。