您现在的位置是:首页 >技术交流 >[Sample]基于MindSpore Lite接口实现图像分类(C++)网站首页技术交流

[Sample]基于MindSpore Lite接口实现图像分类(C++)

HarmonyOS Coder369 2025-07-11 00:01:03
简介[Sample]基于MindSpore Lite接口实现图像分类(C++)

HarmonyOS_Samples/MindSporeLiteCpp

HarmonyOS Sample示例代码

介绍

本文基于MindSporeLite提供的C++ API,实现“端侧图像分类”示例程序,来演示端侧部署的流程,以便用户掌握图像分类C++接口的能力。

  1. 选择图像分类模型。
  2. 将模型转换成MindSporeLite模型格式。
  3. 在端侧使用MindSporeLite推理模型,显示出可能的分类结果。

效果预览

主页

使用说明

  1. 在主界面,可以点击photo按钮,进入相册选择图片界面;
  2. 在相册界面,选择图片,点击确定按钮;
  3. 自动进行选择图片的图像分类模型推理,部分推理结果显示在主界面。

工程目录

 ├──entry/src/main/cpp/                     // 模型推理
 │  ├──types/libentry/                       
 │  │  ├──Index.d.ts                        // 声明C++方法
 │  │  └──oh-package.json5                  // 声明依赖
 │  ├──CMakeLists.txt                       // 链接MindSporeLite动态库
 │  └──napi_init.cpp                        // 图像识别                             
 ├──entry/src/main/ets/                     // 应用首页
 │  ├──common
 │  │  ├──constants                         
 │  │  │  └──CommonConstants.ets             // 常量类
 │  │  └──utils          
 │  │     └──Logger.ets                      // 日志打印类
 │  ├──entryability
 │  │  └──EntryAbility.ets                   // 程序入口类
 │  ├──entrybackupability
 │  │  └──EntryBackupAbility.ets             // 程序出口类
 │  └──pages                 
 │     └──Index.ets                         // 主页入口
 ├──entry/src/main/resource                 // 应用静态资源
 │  └──rawfile
 │     └──mobilenetv2.ms                    // 模型文件
 └──entry/src/main/module.json5             // 模块配置相关
 

具体实现

  • 本示例程序中使用的终端图像分类模型文件为mobilenetv2.ms,放置在entrysrcmain esources awfile工程目录下。

    注:开发者可按需手工下载MindSpore Model Zoo中图像分类模型

  • 调用@ohos.file.picker(图片文件选择)、@ohos.multimedia.image(图片处理效果)、@ohos.file.fs(基础文件操作) 等API实现相册图片获取及图片处理。完整代码请参见Index.ets

  • 调用@ohos.ai.mindSporeLite (推理能力) API实现端侧推理。完整代码请参见model.ets

  • 调用推理函数并处理结果。完整代码请参见Index.ets

相关权限

不涉及。

约束与限制

1.本示例仅支持标准系统上运行,支持设备:华为手机。

2.HarmonyOS系统:HarmonyOS 5.0.0 Release及以上。

3.DevEco Studio版本:DevEco Studio 5.0.0 Release及以上。

4.HarmonyOS SDK版本:HarmonyOS 5.0.0 Release SDK及以上。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。