我将CameraX
的分析器用例与 MLKit 的BarcodeScanner
. 我想先裁剪从相机接收到的图像的一部分,然后再将其传递到扫描仪。
我现在正在做的是将ImageProxy
(我在分析器中收到的)转换为Bitmap
,裁剪它,然后将其传递给BarcodeScanner
. 缺点是这不是一个非常快速和有效的过程。
我还注意到运行此代码时 Logcat 中收到的警告:
ML Kit 检测到您似乎将相机帧作为位图对象传递给检测器。这是低效的。请对camera2 API使用YUV_420_888格式,对(旧)相机API使用NV21格式,并将字节数组直接传递给ML Kit。
不进行转换固然很好ImageProxy
,但是如何裁剪我想要分析的矩形呢?
我已经尝试过设置(imageProxy.image.cropRect) 类cropRect
的字段Image
,但它似乎并不影响最终结果。
android android-image android-camera2 android-camerax google-mlkit
我正在应用程序颤振中工作。Android 工作正常,但在 ios 中没有。我需要一些帮助才能在 ios 移动设备上运行它。我正在使用 lib: google_maps_flutter: ^0.5.27+3和firebase_ml_vision : ^0.9.3+8。Xcode 11.4.1 和 Mac os Catalina 10.15.4。有人知道如何解决这个问题。我还没找到
flutter doctor
[?] Flutter (Channel stable, v1.17.0, on Mac OS X 10.15.4 19E287, locale en-BR)
[?] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[?] Xcode - develop for iOS and macOS (Xcode 11.4.1)
[?] Android Studio (version 3.6)
[?] VS Code (version 1.45.0)
[?] Connected device (1 available)
• No issues found!
Run Code Online (Sandbox Code Playgroud)
日志错误如下:
Undefined symbols for …
Run Code Online (Sandbox Code Playgroud) 扫描 UI 加载时出错:“com.google.mlkit.common.MlKitException:无法扫描代码。”
我的设备有问题。当扫描 UI 加载时(在 GmsBarcodeScanning 上),我收到异常 addOnFailureListener。“com.google.mlkit.common.MlKitException:扫描代码失败。” 在其他设备上我无法得到同样的错误......但肯定不止一个。有人有任何解决方法来解决它吗?特恩克
平台:Android 项目:com.google.mlkit.samples.codescanner
我已经在设备上创建了 ML Kit 并在我公司的新项目中使用它,它工作正常,但我需要知道当应用程序上传到商店(Android 和 IOS 市场)时是否需要付款),我在项目中只会使用离线版本。
我已经按照这里的教程进行操作并且运行得很好。然后,使用相同的代码,每次尝试打开二维码扫描仪时都会遇到此异常:
com.google.mlkit.common.MlKitException:无法扫描代码。
我什至没有离开我的应用程序,异常是瞬时的。
这真的让我很困扰,因为它以前是如何工作的,现在它不再工作了。
我知道有很多类似的问题(这里、这里或这里),但即使我遵循了建议的说明,我仍然面临同样的问题。
尽管我似乎正确配置了项目,但 Firebase ML Kit 似乎在下载设备上的文本识别模型时遇到问题,给我以下异常:
com.google.firebase.ml.common.FirebaseMLException: Waiting for the text recognition model to be downloaded. Please wait.
该项目似乎根据清单中的 DEPENDENCIES 元数据进行了配置,以便在打开应用程序(或从 Play 商店下载)时下载依赖项:
<meta-data
android:name="com.google.firebase.ml.vision.DEPENDENCIES"
android:value="ocr" />
Run Code Online (Sandbox Code Playgroud)
以及访问互联网和相机的权限:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)
:app Gradle 实现了 ML Kit Vision:
implementation 'com.google.firebase:firebase-ml-vision:24.0.1'
我也试过:
20.09.13 (120408-298964066)
.我尝试使用库的代码在这里(接口的实现ImageAnalysis.Analyzer
):
@SuppressLint("UnsafeExperimentalUsageError")
override …
Run Code Online (Sandbox Code Playgroud) 概述
我有两个依赖项,一个作为 Swift 包提供,另一个仅作为 Cocoapod 提供。问题是每个版本都依赖于第三个包,这会导致存在多个版本时出现未定义的行为。
在基本层面上,这是我的依赖项的图形
APP imports:
B (SPM) imports:
C (SPM) imports:
D (SPM) <-
E (Pod) imports:
D (Pod) <-
Run Code Online (Sandbox Code Playgroud)
我想删除该版本并通过 Podfile 脚本或构建脚本D (Pod)
指向该版本。D (SPM)
更具体的信息:
我有一个导入的 NetworkingService Swift 包Firebase
,我的主应用程序导入 NetworkingService。我的 Podfile 导入GoogleMLKit/PoseDetection
. Firebase 和 PoseDetection 共享依赖项,当存在重复项时,这些依赖项会导致未定义的行为(运行时崩溃)。
注意:通过删除中间 NetworkingService 包并将 Firebase 作为 Swift 包导入主应用程序,应该可以重现此错误。
Podfile
platform :ios, '15.0'
target 'MyApp' do
use_frameworks!
pod 'GoogleMLKit/PoseDetection', '2.5.0'
end
Run Code Online (Sandbox Code Playgroud)
在 Package.swift 中
.package(
name: "Firebase",
url: "https://github.com/firebase/firebase-ios-sdk.git",
.upToNextMajor(from: "8.10.0")
),
Run Code Online (Sandbox Code Playgroud)
它们复制了一些依赖项,包括GoogleUtilities …
如何禁用Android 版Google ML Kit库中的 Firebase 日志记录。每 15 分钟它就会将一些信息发布到https://firebaselogging.googleapis.com/v0cc/log/batch?format=json_proto3
我尝试使用 Google https://firebase.google.com/docs/perf-mon/disable-sdk?platform=android#kotlin+ktx的建议,我也不确定这是否是正确的方法。
我正在考虑在我的 Android 应用程序中实现 MLKit 人脸识别库。我唯一不明白的是,如果可能的话,我如何比较两张照片并检测它们是否是同一个人。我已阅读这些指南:
谢谢
这 3 个 Google 库之间似乎有很多重叠之处。
根据他们的网站:
媒体管道:MediaPipe offers cross-platform, customizable ML solutions for live and streaming media.
AR核心:With ARCore, build new augmented reality experiences that seamlessly blend the digital and physical worlds.
MLKit 愿景:Video and image analysis APIs to label images and detect barcodes, text, faces, and objects.
有相关工作经验的人能否解释一下它们之间的关系以及各自的用例是什么?
例如,哪些适合实现面部过滤器等高级流行功能?
(也许还可以了解这 3 者中哪一个最有可能最快登陆 Google Graveyard)