我使用 Google 的 ML Kit 进行条形码扫描,并从 Google 提供的示例和教程中收集了以下代码。然而,表演却很戏剧化。识别条形码需要几秒钟,可能是 10、15 秒。有什么办法可以改善这一点吗?
另外,这如何与倒置的条形码一起使用?我发现我需要反转图像,但是,如果在分析器中我尝试获取 image.bitmapInternal 或 image.byteBuffer,它始终为空。
构建.gradle
implementation 'com.google.mlkit:barcode-scanning:17.0.0'
// CameraX core library using camera2 implementation
implementation "androidx.camera:camera-camera2:1.0.2"
// CameraX Lifecycle Library
implementation "androidx.camera:camera-lifecycle:1.0.2"
// CameraX View class
implementation "androidx.camera:camera-view:1.0.0-alpha31"
Run Code Online (Sandbox Code Playgroud)
然后,在一个片段中:
typealias BarCodeListener = (barCode: String) -> Unit
const val TAG = "ConnectorScanner"
[...]
override fun onResume() {
super.onResume()
cameraExecutor = Executors.newSingleThreadExecutor()
startCamera()
}
private fun startCamera() {
val cameraProviderFuture = ProcessCameraProvider.getInstance(requireContext())
val resolution = Size(720, 1280)
cameraProviderFuture.addListener({
// Used to bind …
Run Code Online (Sandbox Code Playgroud)