查看: 2481|回复: 0

角蜂鸟实例教程 > Android > Hello 2018

[复制链接]

该用户从未签到

发表于 2018-8-6 13:22:05 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 cll826 于 2018-8-5 16:06 编辑

HELLO 2018
快速开始

下面介绍如何在Android Studio开发环境下通过角蜂鸟SDK使用Mnist卷积神经网络,实现数字识别,本文的介绍示例是使用角蜂鸟摄像头,如果需要外部图像来源可参考示例工程实现

步骤1:准备环境

1.下载最新版HornedSungemSDK jar包
2.请确保满足一下开发环境要求
             1)确保minSdkVersion在Android 3.1以上
    2)确保设备支持OTG
    3)Android Studio 2.0或以上版本

3.新建project工程
4.请确保在使用角蜂鸟相关功能及服务前,已阅读Android API,详见API文档

步骤2:添加SDK

  • 将下载的软件包根据实际需求拷贝到您项目对应的文件夹里,例如:

1.jpeg


该lib下包含了horned-sungemSDK及javacv所需要的jar和so库

注意:libs文件夹路径不能包含中文,否则会编译失败

2.请在build.gradle文件里,请将上述库放入正确路径下,如检索不到,可手动添加引用:

2.jpeg

步骤3:添加权限


为了保证SDK正常运行,需要在AndroidManistest.xml文件下添加下列许可:
  1. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  2. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  3. <uses-permission android:name="android.hardware.usb.host"/>
  4. <uses-permission android:name="android.hardware.usb.accessory"/>
  5. <uses-feature android:name="android.hardware.usb.host"/>
复制代码
步骤4:代码实现

下面通过一个简单hello2018的例子讲解具体怎么使用角蜂鸟SDK

  • 下载graph_mnist文件和4张测试图片,在您的module下新建assets包,将下载的文件复制到该目录下,如图:
3.jpeg



  • 定义HelloActivity继承HsBaseActivity,用于角蜂鸟通信和显示结果,具体代码如下:
  1. public class HelloActivity extends HsBaseActivity {

  2. private TextView mTextView;
  3. private Handler mHandler = new Handler() {
  4.     @Override
  5.     public void handleMessage(Message msg) {
  6.         super.handleMessage(msg);
  7.         mTextView.append("\r\n" + msg.what);
  8.     }
  9. };

  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12.     super.onCreate(savedInstanceState);
  13.     setContentView(R.layout.activity_hello);
  14.     mTextView = findViewById(R.id.tv_hello);
  15. }

  16. @Override
  17. public void openSucceed(ConnectBridge connectBridge) {

  18.     new Hello2018Thread(this, connectBridge, mHandler).start();
  19. }

  20. @Override
  21. protected void onDestroy() {
  22.     super.onDestroy();
  23. }

  24. @Override
  25. public void openFailed() {
  26. }

  27. @Override
  28. public void disConnected() {
  29. }
  30. }
复制代码
  • Hello2018Thread继承HsThread,处理业务逻辑,核心代码如下:
  1. @Override
  2. public void run() {
  3.     super.run();
  4.     int status = allocateGraphByAssets("graph_mnist");
  5.     if (status != ConnectStatus.HS_OK) {
  6.         return;
  7.     }
  8.     for (int i = 1; i < 5; i++) {
  9.         int[] ints = new int[28 * 28];
  10.         try {
  11.             InputStream inputStream = mActivity.getAssets().open("hello/" + i + ".jpg");
  12.             Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
  13.             bitmap.getPixels(ints, 0, 28, 0, 0, 28, 28);
  14.         } catch (FileNotFoundException e) {
  15.             e.printStackTrace();
  16.         } catch (IOException e) {
  17.             e.printStackTrace();
  18.         }
  19.         float[] float_tensor = new float[28 * 28];
  20.         for (int j = 0; j < 28 * 28; j++) {
  21.             float_tensor[j] = Color.red(ints[j]) * 0.007843f - 1;
  22.         }
  23.         int status_load = loadTensor(float_tensor, float_tensor.length, 0);
  24.         if (status_load == HsConnectApi.HS_OK) {
  25.             float[] result = getResult(0);
  26.             if (result != null) {
  27.                 int max = getMaxPossible(result);
  28.                 mHandler.sendEmptyMessage(max);
  29.             }
  30.         }
  31.     }
  32. }
  33. public int getMaxPossible(float[] arr) {
  34.     int max = 0;
  35.     float max_f = 0;
  36.     for (int i = 0; i < arr.length; i++) {
  37.         float temp = arr[i];
  38.         if (temp > max_f) {
  39.             max = i;
  40.             max_f = temp;
  41.         }
  42.     }
  43.     return max;
  44. }
复制代码
步骤5:具体操作流程

  • 编译该程序,运行在Android设备上
  • 进入程序主页
  • 通过usb连接角蜂鸟
  • 短暂等待,弹出权限提醒,
  • 点击打开该设备,得到返回结果
  • 结果如图:


4.jpeg

注意:如果不打开设备,程序会执行openFailed()回调,想再次使用,请重新插拔角蜂鸟
更多详情,请点击进行实例教程,或直接下载演示工程,下载地址

产品购买链接 :https://www.cirmall.com/shop/?c=products&a=view&id=5113









回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

手机版|小黑屋|与非网

GMT+8, 2024-11-20 00:39 , Processed in 0.121352 second(s), 16 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.