HarmonyOS NEXT AI基础视觉服务-人脸识别

简介: 这是一个基于AI基础视觉服务的人脸识别案例,通过调用设备相册选择图片,利用MediaLibraryKit、ImageKit和CoreVisionKit等模块完成图像处理与人脸检测,并展示结构化结果。核心功能包括:相册访问授权、图像数据转换、人脸位置及特征点检测,最终以弹窗形式输出检测信息。代码涵盖模块导入、功能实现与UI构建,适合学习AI视觉应用开发流程。

案例描述

这是一个基于AI基础视觉服务实现的人脸识别案例,通过调用设备相册选择图片后检测图像中的人脸信息并展示结构化识别结果。

实现步骤:

1. 模块导入

// 导入功能模块
import {
    photoAccessHelper } from '@kit.MediaLibraryKit';
import {
    fileIo } from '@kit.CoreFileKit';
import {
    image } from '@kit.ImageKit';
import {
    faceDetector } from '@kit.CoreVisionKit';
import {
    promptAction } from '@kit.ArkUI';
import {
    JSON } from '@kit.ArkTS';

2. 相册选择功能

// 创建相册选择器实例
const photoPicker: photoAccessHelper.PhotoViewPicker = new photoAccessHelper.PhotoViewPicker();
// 设置选择参数
const photoResult = await photoPicker.select({
   
  MIMEType: photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE,
  maxSelectNumber: 1
})
// 获取选中图片URI
const photoUri = photoResult.photoUris[0]

3. 图像处理流程

// 打开图片文件句柄
const fileSource = await fileIo.open(photoUri, fileIo.OpenMode.READ_ONLY);
// 创建图像数据源
const imageSource = image.createImageSource(fileSource.fd);
// 生成像素图格式数据
const chooseImage = await imageSource.createPixelMap();

4. 人脸检测核心实现

// 初始化人脸检测器
faceDetector.init();
// 配置视觉识别参数
const visionInfo: faceDetector.VisionInfo = {
   
  pixelMap: chooseImage
};
// 执行人脸检测
const visionResult = await faceDetector.detect(visionInfo)
// 是否包含人脸
this.isFace = visionResult.length > 0

5. 检测结果展示

// 弹窗显示结构化检测结果
promptAction.showDialog({
   
  message: JSON.stringify(visionResult)
})

落地代码:

1. UI组件定义

@Entry
@ComponentV2
struct FaceDetector {
   
  @Local isFace: boolean = false

2. 主功能方法

async checkFace() {
   
  // 整合相册选择、图像处理、人脸检测完整逻辑
}

3. 界面构建

build() {
   
  Column() {
   
    Button('选择相册 人脸识别')
      .onClick(() => {
   
        this.checkFace()
      })
  }
  .height('100%')
  .width('100%')
}

总结梳理:

核心点

  1. 相册访问需要用户授权权限
  2. 图像处理需通过MediaLibraryKit和ImageKit协作完成
  3. 检测结果包含人脸位置、特征点等结构化数据

完整代码

import {
    photoAccessHelper } from '@kit.MediaLibraryKit';
import {
    fileIo } from '@kit.CoreFileKit';
import {
    image } from '@kit.ImageKit';
import {
    faceDetector } from '@kit.CoreVisionKit';
import {
    promptAction } from '@kit.ArkUI';
import {
    JSON } from '@kit.ArkTS';

@Entry
@ComponentV2
struct FaceDetector {
   
  @Local isFace: boolean = false

  async checkFace() {
   
    const photoPicker: photoAccessHelper.PhotoViewPicker = new photoAccessHelper.PhotoViewPicker();
    const photoResult = await photoPicker.select({
   
      MIMEType: photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE,
      maxSelectNumber: 1
    })
    const photoUri = photoResult.photoUris[0]

    const fileSource = await fileIo.open(photoUri, fileIo.OpenMode.READ_ONLY);
    const imageSource = image.createImageSource(fileSource.fd);
    const chooseImage = await imageSource.createPixelMap();

    faceDetector.init();
    const visionInfo: faceDetector.VisionInfo = {
   
      pixelMap: chooseImage
    };
    const visionResult = await faceDetector.detect(visionInfo)
    this.isFace = visionResult.length > 0

    promptAction.showDialog({
   
      message: JSON.stringify(visionResult)
    })
  }

  build() {
   
    Column() {
   
      Button('选择相册 人脸识别')
        .onClick(() => {
   
          this.checkFace()
        })
    }
    .height('100%')
    .width('100%')
  }
}
相关文章
|
4月前
|
监控 JavaScript 编译器
从“天书”到源码:HarmonyOS NEXT 崩溃堆栈解析实战指南
本文详解如何利用 hiAppEvent 监控并获取 sourcemap、debug so 等核心产物,剖析了 hstack 工具如何将混淆的 Native 与 ArkTS 堆栈还原为源码,助力开发者掌握异常分析方法,提升应用稳定性。
599 71
|
4月前
|
人工智能 自然语言处理 安全
用AI重构人机关系,OPPO智慧服务带来了更“懂你”的体验
OPPO在2025开发者大会上展现智慧服务新范式:通过大模型与意图识别技术,构建全场景入口矩阵,实现“服务找人”。打通负一屏、小布助手等系统级入口,让服务主动触达用户;为开发者提供统一意图标准、一站式平台与安全准则,降低适配成本,共建开放生态。
468 31
|
4月前
|
人工智能 小程序 Java
电子班牌管理系统源代码,基于AI人脸识别技术的智能电子班牌云平台解决方案
电子班牌管理系统源码,基于AI人脸识别的智慧校园云平台,支持SaaS架构,涵盖管理端、小程序与安卓班牌端。集成考勤、课表、通知、门禁等功能,提供多模式展示与教务联动,助力校园智能化管理。
245 0
|
5月前
|
存储 缓存 5G
鸿蒙 HarmonyOS NEXT端云一体化开发-云存储篇
本文介绍用户登录后获取昵称、头像的方法,包括通过云端API和AppStorage两种方式,并实现上传头像至云存储及更新用户信息。同时解决图片缓存问题,添加上传进度提示,支持自动登录判断,提升用户体验。
253 1
|
5月前
|
人工智能 数据可视化 前端开发
AI Ping:精准可靠的大模型服务性能评测平台
AI Ping是清华系团队推出的“大模型服务评测平台”,被誉为“AI界的大众点评”。汇聚230+模型服务,7×24小时监测性能数据,以吞吐量、延迟等硬指标助力开发者科学选型。界面简洁,数据可视化强,支持多模型对比,横向对标国内外主流平台,为AI应用落地提供权威参考。
1493 3
|
4月前
|
人工智能 供应链 搜索推荐
拔俗AI 智能就业咨询服务平台:求职者的导航,企业的招聘滤网
AI智能就业平台破解求职招聘困局:精准匹配求职者、企业与高校,打破信息壁垒。简历诊断、岗位推荐、技能提升一站式服务,让就业更高效。
259 0
|
4月前
|
人工智能 Cloud Native 自然语言处理
拔俗AI智能体服务开发:你的7x24小时数字员工,让企业效率飙升的秘密武器
在“人效为王”时代,企业面临服务响应慢、成本高、协同难等痛点。阿里云AI智能体以自主决策、多模态交互、持续学习三大引擎,打造永不疲倦的“数字员工”,实现7×24小时高效服务,助力企业降本增效、驱动创新增长。(238字)
372 0
|
4月前
|
人工智能 供应链 算法
AI 产业服务平台:打造产业智能化的“加速器”与“连接器”
AI产业服务平台整合技术、数据、算力与人才,为中小企业提供低门槛、一站式AI赋能服务,覆盖研发、生产、营销、管理全链条,助力产业智能化转型。
237 0
|
5月前
|
传感器 监控 安全
HarmonyOS NEXT 5.0 的星闪(NearLink)开发应用案例
V哥分享HarmonyOS NEXT 5.0星闪开发实战,涵盖智能车钥匙无感解锁与工业传感器监控。低延迟、高可靠,代码完整,速来学习!
792 0
|
5月前
|
人工智能 安全 搜索推荐
面向阿里云百炼用户的AI安全护栏服务
本服务专为百炼平台用户提供,旨在提升大模型的文字输入和输出安全审核体验。在遵守百炼平台红线管控政策的基础上,我们提供了灵活的审核标签管理功能,允许用户根据需要开启或关闭特定审核标签。此外,我们还提供定制化的安全策略配置服务,以满足不同用户的个性化需求。
343 0

热门文章

最新文章