您现在的位置是:首页 >技术杂谈 >[Sample]基于MindSpore Lite接口实现图像分类(C++)网站首页技术杂谈
[Sample]基于MindSpore Lite接口实现图像分类(C++)
                简介[Sample]基于MindSpore Lite接口实现图像分类(C++)            
            HarmonyOS_Samples/MindSporeLiteCpp
HarmonyOS Sample示例代码
介绍
本文基于MindSporeLite提供的C++ API,实现“端侧图像分类”示例程序,来演示端侧部署的流程,以便用户掌握图像分类C++接口的能力。
- 选择图像分类模型。
 - 将模型转换成MindSporeLite模型格式。
 - 在端侧使用MindSporeLite推理模型,显示出可能的分类结果。
 
效果预览
| 主页 | 
|---|
|   
  | 
使用说明
- 在主界面,可以点击photo按钮,进入相册选择图片界面;
 - 在相册界面,选择图片,点击确定按钮;
 - 自动进行选择图片的图像分类模型推理,部分推理结果显示在主界面。
 
工程目录
 ├──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及以上。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。
        
    
        
    
            




U8W/U8W-Mini使用与常见问题解决
QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结