电容 ML Kit 对象检测插件
非官方电容插件 ML Kit 对象检测和跟踪[^1]
使用大小写
对象检测插件通常用于应用程序需要定位和分类图像中突出对象时,例如:
- 视觉搜索:让用户在相片中将对象周围画出一个框并搜索出相类似的产品.
- 内容分类: 按其包含的物体(时尚商品,食品,植物等)自动标记图像.
- 图像裁剪: 使用最突出对象的边框自动裁剪或聚焦图像.
- 库存管理:在相片中检测和计数对象,以支持编目工作流程.
兼容性
| 插件版本 | 电容版本 | 状态 |
|---|---|---|
| 8.x.x (英语) | >=8.x.x | 积极支持 |
安装
你可以用我们的 AI 辅助设置 以安装插件. 添加数据 超级技能 至您的 AI 工具,使用以下命令:
npx skills add capawesome-team/skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capacitor-mlkit/object-detection` plugin in my project.
如果你喜欢 手动设置,通过运行以下命令来安装插件,并遵循下面的平台特定指令:
npm install @capacitor-mlkit/object-detection
npx cap sync
请注意: 此插件 只支持可口可乐Pods iOS的依赖性管理。 Swift 软件包管理器( SPM) 不支持 ML Kit SDK, 参见 本评论。 。 。 .
机器人
变量
如果需要, 您可以在您的应用程序中定义以下工程变量 variables.gradle 要更改依赖的默认版本的文件 :
$mlkitObjectDetectionVersion版本com.google.mlkit:object-detection(默认 :17.0.2(中文(简体) )
如果您在工程中遇到其它插件的依赖性冲突, 这会有所帮助 .
iOS系统
最低部署目标
确定部署目标 ios/App/Podfile 至少改为 15.5数字 :
platform :ios, '15.5'
配置
此插件不需要配置 .
演示
这里有一个实例: robingenz/电容-mlkit-plugin-demo
使用量
以下示例显示如何在图像中检测对象.
在图像中检测对象
在本地路径的图像中检测对象 。 您可以选择启用分类和检测多个对象。 仅在Android和iOS上提供:
import { ObjectDetection } from '@capacitor-mlkit/object-detection';
const processImage = async () => {
const { detectedObjects } = await ObjectDetection.processImage({
path: 'path/to/image.jpg',
shouldEnableClassification: true,
shouldEnableMultipleObjects: true,
});
return detectedObjects;
};
API 密码
进程图像(...)
processImage(options: ProcessImageOptions) => Promise<ProcessImageResult>
在所提供的图像中检测对象.
每个被检测到的物体都带有边框,如果分类 被启用,标签为5个粗类之一.
仅在Android和iOS上提供.
| 参数 | 类型 |
|---|---|
options | ProcessImageOptions |
回返情况: Promise<ProcessImageResult>
自: 8.2.0 (中文(简体) )
接口
进程图像结果
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
detectedObjects | DetectedObject[] | 探测到的物体. | 8.2.0 (中文(简体) ) |
检测对象
代表在图像中检测到的对象.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
boundingBox | Rect | 检测对象的边框 . | 8.2.0 (中文(简体) ) |
trackingId | number | 被检测对象的跟踪标识符 。 仅当在流模式下检测对象时设置 . | 8.2.0 (中文(简体) ) |
labels | ObjectLabel[] | 检测对象的标签 。 如果分类被禁用, 列表为空 . | 8.2.0 (中文(简体) ) |
矩形
代表一个矩形.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
left | number | 以像素表示的矩形的左坐标. | 8.2.0 (中文(简体) ) |
top | number | 以像素为单位的矩形顶部坐标. | 8.2.0 (中文(简体) ) |
right | number | 以像素表示的矩形的右坐标. | 8.2.0 (中文(简体) ) |
bottom | number | 矩形以像素为单位的下部坐标. | 8.2.0 (中文(简体) ) |
对象标签
代表检测对象的标签.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
index | number | 标签索引. | 8.2.0 (中文(简体) ) |
text | string | 标签的文字(如:. Food) (中文(简体) ). 文本总是英文. | 8.2.0 (中文(简体) ) |
confidence | number | 标签的信心。 该值介于 0.0 财务报告和审定财务报表 1.0。 。 。 . | 8.2.0 (中文(简体) ) |
进程图像选项
| Prop | 类型 | 说明 | 默认 | 自兹 |
|---|---|---|---|---|
path | string | 图像文件的本地路径 . | 8.2.0 (中文(简体) ) | |
shouldEnableClassification | boolean | 是否将检测对象归类为粗细类 。 分类只返回5个粗类(Fashion good, (中文(简体) ), Food, (中文(简体) ), Home good, (中文(简体) ), Place 财务报告和审定财务报表 Plant) (中文(简体) ). | false | 8.2.0 (中文(简体) ) |
shouldEnableMultipleObjects | boolean | 是否检测多个对象, 而不是仅检测最突出的对象 。 启用时, 检测到最多五个对象 . | false | 8.2.0 (中文(简体) ) |
财务问题
此插件支持哪些平台 ?
这个 processImage(...) 方法只在Android和iOS上可用. Web平台不由基础的ML Kit对象检测SDK支持.
插件使用哪种模式 ?
该插件使用基础对象检测和跟踪模型,该模型被与app捆绑在一起. Custom tensorFlow Lite 分类器模型目前不支持.
分类归哪个类别?
何时 shouldEnableClassification 已启用,基准模型只将检测到的物体分为5个粗类: Fashion good, (中文(简体) ), Food, (中文(简体) ), Home good, (中文(简体) ), Place,以及 Plant。任何不属于这些类别之一的物体都得不到标签.
为什么 trackingId 未设?
插件在单图像模式下处理图像,在单图像模式下对象不会被跨帧跟踪. 这个 trackingId 因此没有设定。 只有在流模式下检测到对象时才被覆盖,此插件不支持.
我能用这个插件吗? 有Ionic、React、Vue或Angular?
是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.
相关插件
- ML Kit 条码扫描:用ML Kit条码扫描条码.
- ML Kit 面部检测:用 ML Kit Face 检测图像中的检测面孔.
- ML Kit 图像标签:用 ML Kit 图像标签在图像中检测标签.
术语和隐私
此插件使用 Google ML Kit (Google ML Kit) 页面存档备份,存于互联网档案馆数字 :
通讯
随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 《卡帕索克通讯》。 。 。 .
更改日志
见 变动情况。 。 。 .
许可证
见 自由主义。 。 。 .
[^1]: 这个项目不附属于Google LLC或其任何子公司或子公司,也不获得其认可、支持、赞助或批准.