问题标签 [google-mlkit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 在 Swift 5 中确保图像数据在 iOS 应用程序上的方向正确
我正在使用 Firebase ML Kit 进行人脸检测,在文档中它说:
如有必要,旋转图像,使其 imageOrientation 属性为 .up。使用正确旋转的 UIImage 创建一个 VisionImage 对象。不要指定任何旋转元数据 - 必须使用默认值 .topLeft。
我遇到了一个问题,我从互联网上传的照片往往可以正常工作,但是当我从相机拍照时似乎出现了问题。我有一种感觉,这是由于图像的定向方式造成的,我不知道应该如何检查图像以确保满足上面列出的这两个要求。我尝试打印出 images.imageOrientation 但它对我没有多大帮助,并且由于某种原因我无法使用UIImageOrientationUp
我在不同的stackoverflow答案中看到的那个。
这是我尝试打印图像方向时打印的内容:
无论如何,如果有人可以帮助我编写一个函数,我可以使用它来确保我将要传递给 ML Kit 的图像的方向是正确的,我将非常感激。谢谢!我是 iOS 新手,这是我的第一个“真实”应用程序,所以如果有更好或更简单的方法来实现我的目标,我很抱歉。
*** 所以我发现当我用相机拍照时,它的方向是 .right,但在实际的 imageView 上看起来很好。我尝试将方向更改为 .up 但现在图像实际上向右旋转并且检测仍然失败......我想我需要将方向更改为 .Up 如果可能的话,无需实际旋转图像。因为当我尝试设置值时,它说它是一个只能获取的属性
ios - 使用 MLKit ios swift 尝试化妆
任何想法,如何在面部检测中将口红涂在嘴唇上。我已经完成了颜色,但我想展示光泽和闪亮。关于如何在 MLKit ios 应用程序中使用纹理和阴影的任何想法
只需找到嘴唇点并创建 CAShapelayer 图层,然后填充颜色。在 ARKit 中,我们可以使用场景包和场景视图,因此我们可以轻松添加材质和纹理等等。但是我们如何在 mlkit 中使用
[![在此处输入图像描述][1]][1]
Q1。是否可以在 mlkit 中将场景视图用于材质和纹理。
Q2。或者如何在所有点上绘制图像(嘴唇、眼睛、眉毛)
我试过这样
但没有运气!
flutter - 如何使用 Firebase_Camera_ml_vision 从实时人脸检测中拍照
我使用 flutter_camera_ml_vision 2.2.5 并从他们的存储库中获取人脸检测示例。请问有人能告诉我如何从现场检测中拍照吗?
这是代码的链接:- https://github.com/rushio-consulting/flutter_camera_ml_vision/blob/master/example/lib/main_face.dart
android - 需要在使用 MLKit 和 Camera2 进行人脸检测期间捕获静止图像
我正在使用Camera2和MLKit开发人脸检测功能。
在开发人员指南的性能提示ImageFormat.YUV_420_888
部分中,他们说如果使用 Camera2 API 以格式捕获图像,这是我的情况。
然后,在人脸检测器部分,他们建议使用尺寸至少为 480x360 像素的图像进行实时人脸识别,这也是我的情况。
好了,走吧 !这是我的代码,运行良好
现在,我想捕捉静止图像......这是我的问题,因为理想情况下,我想要:
- 全分辨率图像,或至少大于 480x360
- 以JPEG格式保存
Camera2Basic示例演示了如何捕获图像(视频和慢动作的示例正在崩溃)并且MLKit 示例使用了如此古老的相机 API!幸运的是,我成功地混合了这些样本来开发我的功能,但我未能捕捉到具有不同分辨率的静止图像。
我想我必须停止预览会话才能重新创建一个进行图像捕获,但我不确定......
我所做的是以下,但它是在 480x360 中捕获图像:
如果我取消注释新的 ImageReader 实例,我有这个例外:
java.lang.IllegalArgumentException:CaptureRequest 包含未配置的输入/输出表面!
谁能帮我 ?
swift - 如何确保正确处理 VisionImage(来自 Google 在 Firebase 中的 ML Kit)对象?
我正在尝试从名为“quote”的 Assets 文件夹中的图像中读取文本。但是每次都打印出错误“错误 2:无法处理 VisionImage”。
如何确保正确处理 VisionImage 并从图像“报价”中获取文本?
android - zzrb.zza 导致每个其他 cameraX analyzer.analyze 帧除以零算术异常
所以我要重新开始一个我几个月没有碰过的项目。几天前我在搞砸它,没有任何问题(至少在我之前的最新帖子之后)。不管出于什么原因,今天我去运行它,我已经为这个问题苦苦挣扎了几个小时......
问题:
我正在创建一个 FIrebaseVisionImage 对象以用于各种 ml 视觉任务。
在此之前非常标准的设置(类似于他们在使用带有 ImageAnalysis.Analyzer 的 CameraX的示例中的设置。无论出于何种原因,我现在遇到了这个我以前没有遇到的错误。
到目前为止我所做的:
好吧,没问题,让我只是堆栈跟踪。我看到这一行:
是问题。好的,很酷,让我们找出这些值。
让我们向后工作:
当我调用 fromMediaImage FirebaseVisionImage 它应该返回这个(基于我的图像):
/li>K 酷,所以我们知道这里有问题的方法是: zza(Plane[] var0, int var1, int var2)
- K 那么接下来的行(就错误而言)是: zza(var0[0], var1, var2, var4, 0, 1);
- 然后调用: zza(Plane var0, int var1, int var2, byte[] var3, int var4, int var5)
- 最后调用: int var9 = var2 / var8
现在,我是一个 Android Studio 新手,所以我不知道如何在跟踪时获取类文件中的值,所以我回到了创建 FirebaseVisionImage 的位置,就在此之前我这样做了:
这导致:
480
0
0
640
639
K 井 639/640 是 0.9.... 现在如果我记得 Java 是如何工作的,int 除法会向下舍入 - 除非我假设明确覆盖?反正。KI 猜想那是完全有道理的。好吧,如果我没记错的话,我从现在到它工作时唯一改变的是依赖升级,我实际上降级了,看看这是否会影响它,在查看发行说明后它不应该有。
编辑:所以我发现实际上当我记录我之前所做的事情时,我注意到之前正在分析 4 帧,结果如下:
日志 1:
480
480
307200
640
307839
日志 2:
480
0
0
640
639
日志 3:
480
480
307200
640
307839
崩溃信息
日志 4:
480
0
0
640
639
我被困在哪里:(
错误发生在第三个日志之后不到 100 毫秒,之后近 300 毫秒,第四个日志被命中。
所以我的假设是缓冲每隔一帧有问题,因为 .remaining() 方法会导致每隔一帧出现 0,这是不应该发生的。不幸的是,我对此知之甚少,所以我想看看是否有人能指出我正确的方向 D:从好的方面来说,我在发布这篇文章的整个过程中学到了很多东西(我在这篇文章上工作了大约45分钟)
下面是我的整个相机功能,我认为它和 D 一样存在很多问题:
android - 使用 firebase MLKit 运行多个图像处理器
我正在尝试在 android 的实时摄像头提要上使用firebase MLKit检测对象和文本。有特定的识别器(FirebaseVisionTextRecognizer,FirebaseVisionObjectDetector)来处理图像。如果我一一使用这些识别器,它工作得很好,我能够得到期望的响应。
但是,我想使用与 Google Lens 应用程序相同的相机源同时检测对象和文本。为了实现这一点,首先,我尝试同时运行两个识别器,但延迟时间更长(执行特定帧需要时间),因为两者都是按顺序运行的,因此只有文本检测有效,而对象检测无效。这意味着对象检测没有结果。
然后,我尝试并行执行两个识别器,延迟减少但不足以让检测 API 返回响应。当摄像头供稿中没有文本时,对象检测效果很好,但是当摄像头供稿中有文本时,延迟会增加,因此没有跟踪对象。
注意:我检查了检测后函数调用的延迟(检测到对象后执行的代码),它不需要太多时间。在并行执行的情况下,识别器需要更多时间来处理图像。我正在三星 Galaxy S30s 手机上进行测试,我猜它的处理器并没有那么差。
代码中的一些概述:
- 使用FirebaseVisionObjectDetectorOptions.STREAM_MODE、enableMultipleObjects=false和enableClassification=false进行对象检测
FirebaseVisionImageMetadata.IMAGE_FORMAT_NV21
在构建 FirebaseVisionImageMetadata 时使用格式- 根据 Google 定义的最佳实践,如果检测正在进行中,则丢弃最新的帧
- 使用 OnDeviceObjectDetector 进行对象检测
- 对于文本检测,我使用 OnDeviceTextRecognizer
我需要帮助来了解 Google Lens 应用程序如何同时执行多个识别器,但不是在我的应用程序中。我可以做些什么来在同一个相机框架上启用多个识别器?
android - 如何在android中使用Firebase MLKit进行文本检测时制作平滑的覆盖界面
我在我的 android 应用程序中集成了 firebase MLKit。我正在使用设备上的 TextRecognizer API 来检测实时摄像机源上的文本。它检测到文本,但处理图像需要很长时间(从 300 毫秒到 1000 毫秒)。由于延迟较大,叠加层不像 Google 镜头应用程序那样平滑。
我该怎么做才能使检测到的文本覆盖在帧之间获得平滑过渡,从而以更大的延迟进行处理?
另外,我注意到谷歌镜头应用程序将文本检测为一个完整的句子,而不是显示文本块。谷歌镜头应用程序如何将文本检测为句子/段落?
android - 如何查看我的 android firebase mlkit 调用的 firebase 服务器日志?
我有适用于这个项目的所有代码:使用 Nexus 6P API 29 模拟器“使用 ML Kit for Firebase:Android 检测图像中的对象”。(请参阅我在 stackoverflow 上的其他自我回答的问题。)请注意,到目前为止,它与 Nexus 6P API 29 配合得最好。
我现在想看看我的本地运行是访问firebase服务器并使用其更强大的算法,还是使用本地算法,所以我自然想查看服务器日志。我在我的 firebase 控制台(console.firebase.google.com)上环顾四周,但我还没有看到它。
如果我能实时看到日志就好了,即在 Android Studio 中逐步调试我的本地代码时。
一般如何查看服务器日志?