HarmonyOS鸿蒙Next中巧用多目标识别能力,帮助应用实现智能化图片解析
HarmonyOS鸿蒙Next中巧用多目标识别能力,帮助应用实现智能化图片解析 为了提升用户体验,各类应用正通过融合人工智能技术,致力于提供更智能、更高效的服务。应用不仅能通过文字和语音的方式与用户互动,还能深入分析图片内容,为用户提供精准的解决方案。
在解析图片之前,应用首先需要准确识别图片中包含的元素,基于此,HarmonyOS SDK 提供了基础视觉服务(Core Vision Kit),可以同时检测出给定图片中的各种物体,包括风景、动物、植物、建筑、树、人脸、表格、文本等位置,并框选出物体,在有需要的情况下,也可将识别结果展示在界面上。
多目标识别功能是一项应用范围较为广泛的基础能力,在搜索引擎应用场景中,应用可借助该能力实现图像的搜索和分类;在AR游戏中,多目标识别功能可以识别出摄像头前的玩家,从而与虚拟游戏内容产生互动;此外,多目标识别功能还可应用于安防监控系统中,通过识别行人、车辆等等目标进行安全分析和紧急响应。
开发步骤
- 在使用多目标识别时,将实现多目标识别相关的类添加至工程。
import { BusinessError } from '@kit.BasicServicesKit';
import { objectDetection, visionBase } from '@kit.CoreVisionKit';
- 简单配置页面的布局,并在Button组件添加点击事件,拉起图库,选择图片。
Button('选择图片')
.type(ButtonType.Capsule)
.fontColor(Color.White)
.alignSelf(ItemAlign.Center)
.width('80%')
.margin(10)
.onClick(() => {
// 拉起图库,获取图片资源
this.selectImage();
})
- 通过图库获取图片资源,将图片转换为PixelMap。
private async selectImage() {
let uri = await this.openPhoto()
if (uri === undefined) {
hilog.error(0x0000, 'objectDetectSample', "Failed to defined uri.");
}
this.loadImage(uri)
}
private openPhoto(): Promise<string> {
return new Promise<string>((resolve, reject) => {
let photoPicker: photoAccessHelper.PhotoViewPicker = new photoAccessHelper.PhotoViewPicker();
photoPicker.select({
MIMEType: photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE, maxSelectNumber: 1
}).then(res => {
resolve(res.photoUris[0])
}).catch(err => {
hilog.error(0x0000, 'objectDetectSample', `Failed to get photo image uri. code:${err.code},message:${err.message}`);
reject('')
})
})
}
private loadImage(name: string) {
setTimeout(async () => {
let fileSource = await fileIo.open(name, fileIo.OpenMode.READ_ONLY);
this.imageSource = image.createImageSource(fileSource.fd);
this.chooseImage = await this.imageSource.createPixelMap();
}, 100)
}
- 实例化Request对象,并传入待检测图片的PixelMap,调用多目标识别的实现多目标识别功能。
// 调用多目标检测接口
let request: visionBase.Request = {
inputData: { pixelMap: this.chooseImage }
};
let data: objectDetection.ObjectDetectionResponse = await (await objectDetection.ObjectDetector.create()).process(request);
- (可选)如果需要将结果展示在界面上,可以使用下列代码。
let objectJson = JSON.stringify(data);
hilog.info(0x0000, 'objectDetectSample', `Succeeded in face detect:${objectJson}`);
this.dataValues = objectJson;
了解更多详情>>
访问 基础视觉服务联盟官网
获取 多目标识别开发指导文档
更多关于HarmonyOS鸿蒙Next中巧用多目标识别能力,帮助应用实现智能化图片解析的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,多目标识别能力通过集成AI模型,能够帮助应用实现对图片中多个目标的智能解析。该能力基于深度学习技术,能够识别图片中的物体、场景、文字等内容,并输出结构化数据。开发者可以通过调用系统提供的API,快速集成多目标识别功能,无需自行训练模型。鸿蒙Next的多目标识别能力支持多种场景,如商品识别、人脸检测、文字识别等,且具备较高的识别精度和实时性。通过该能力,应用可以实现智能化的图片解析,提升用户体验。
更多关于HarmonyOS鸿蒙Next中巧用多目标识别能力,帮助应用实现智能化图片解析的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,多目标识别能力通过AI算法,可同时识别图片中的多个对象,如人脸、车辆、动物等。开发者可调用相关API,将识别结果用于智能分类、场景分析等场景。例如,在相册应用中,自动分类照片;在电商平台中,智能推荐商品。通过多目标识别,应用能更精准地理解图片内容,提升用户体验。