视觉AI(HarmonyVisionAI)使用指导
视觉AI组件 - 鸿蒙端侧视觉智能识别。 鸿蒙独有组件,基于 Core Vision Kit (OCR/目标检测/人脸/骨架/分割)。
运行前提与搭建步骤
这些案例在包含该组件的鸿蒙 AI 伴侣或 HAP 中运行。Android 侧是供网页编辑器生成积木的声明,不能用安卓伴侣验证鸿蒙系统能力。
- 在设计器拖入
HarmonyVisionAI,保留名称HarmonyVisionAI1;拖入案例涉及的按钮、文本输入框以及一个标签标签1,按代码中的名称重命名。 - 根据下面的业务说明准备素材、JSON 或系统目标。案例中的按钮代表分步操作,先等初始化、加载或创建成功,再执行下一步。
- 接住完成事件与错误事件,将原始 JSON 或错误显示在标签。先确认原始结果,再编写业务处理。
先上传包含清晰文字和物体的对应图片;不同识别任务有不同完成事件。系统能力、模型与资源访问失败时查看 Error,不把空结果当作有识别目标。
案例一:文字识别
各案例独立使用;组合到同一屏幕时,将同名事件的处理合并到一个事件积木中。
when Screen1.Initialize() {
HarmonyVisionAI1.Initialize()
}
when HarmonyVisionAI1.Initialized() {
HarmonyVisionAI1.RecognizeText("text.jpg")
}
when HarmonyVisionAI1.TextRecognized(结果JSON) {
标签1.Text = 结果JSON
}
when HarmonyVisionAI1.Error(错误信息) {
标签1.Text = 错误信息
}
案例二:物体检测
when 按钮_物体.Click() {
HarmonyVisionAI1.DetectObjects("objects.jpg")
}
when HarmonyVisionAI1.ObjectsDetected(结果JSON) {
标签1.Text = 结果JSON
}
参数与返回值速查
JSON 参数是文本,不能直接传字典;需要字典时可用 Web 客户端的 JSON 解码积木转换返回文本。完整默认值与类型见组件参考。
| 方法或事件 | 参数与用途 |
|---|---|
人脸对比(图片路径1,图片路径2)(CompareFaces) |
图片路径1:文本, 图片路径2:文本。比对两张图片中的人脸相似度。 |
人脸检测(图片地址)(DetectFaces) |
图片地址:文本。检测图片中的人脸,返回人脸位置和特征信息。 |
物体检测(图片地址)(DetectObjects) |
图片地址:文本。检测图片中的物体,返回位置和类别信息。 |
骨骼检测(图片地址)(DetectSkeleton) |
图片地址:文本。检测图片中人物的骨骼关键点。 |
主体提取(图片地址,最大主体数)(ExtractSubject) |
图片地址:文本, 最大主体数:数字。从图片中提取主体目标,支持多主体提取。 |
获取物体类型名(类型ID)(GetObjectTypeName) |
类型ID:数字。根据类型ID获取目标检测的物体类别名称。 |
获取支持的OCR语言(GetSupportedOCRLanguages) |
无参数。获取文字识别(OCR)支持的语言列表。 |
初始化(Initialize) |
无参数。初始化视觉AI引擎,在使用其他功能前必须先调用。 |
文字识别(图片地址)(RecognizeText) |
图片地址:文本。识别图片中的文字,支持中英文混合识别。 |
出错时(错误信息)(Error) |
错误信息:文本。发生错误时触发,返回错误信息。 |
人脸对比完成时(结果JSON)(FacesCompared) |
结果JSON:文本。人脸比对完成时触发,返回相似度结果。 |
人脸检测完成时(结果JSON)(FacesDetected) |
结果JSON:文本。人脸检测完成时触发,返回人脸位置和特征信息。 |
已初始化时(Initialized) |
无参数。视觉AI引擎初始化完成时触发。 |
收到语言列表时(语言列表JSON)(LanguagesReceived) |
语言列表JSON:文本。OCR支持语言列表获取完成时触发。 |
物体检测完成时(结果JSON)(ObjectsDetected) |
结果JSON:文本。目标检测完成时触发,返回检测到的物体信息。 |
骨骼检测完成时(结果JSON)(SkeletonDetected) |
结果JSON:文本。骨骼检测完成时触发,返回关键点信息。 |
主体提取完成时(结果JSON)(SubjectExtracted) |
结果JSON:文本。图像主体提取完成时触发,返回提取结果。 |
文字识别完成时(结果JSON)(TextRecognized) |
结果JSON:文本。文字识别完成时触发,返回识别结果。 |
常见问题与验收
| 现象 | 检查与预期 |
|---|---|
| 安卓运行没有结果 | 切换到鸿蒙伴侣或 HAP;Android 的声明不会执行该鸿蒙系统能力。 |
| 方法已调用但界面没变化 | 生成 JSON 的方法只是构建数据;按业务流程交给渲染、启动或同步入口,不能将数据生成当成系统操作完成。 |
| 初始化、权限或设备失败 | 记录错误事件,确认系统服务、授权、目标应用或设备可用;只在成功事件后继续下一步。 |
| JSON 解析失败 | 使用上一组件的原始输出,检查引号和字段类型;空对象用于默认模板演示,不能代替真实目标信息。 |
| 两个案例验收 | 每个按钮单独操作一次,核对对应返回或事件;输入错误目标或取消操作时查看失败事件,不应显示成功提示。 |
扫码添加客服咨询