![TensorFlow+Android经典模型从理论到实战(微课视频版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/815/52842815/b_52842815.jpg)
上QQ阅读APP看书,第一时间看更新
1.14 Android客户机逻辑
客户机主控逻辑包含两个分支,对应客户机的两种工作模式,如图1.42所示。
(1)即时拍照识别,需要用户动态授权照相机的使用权限。
(2)从相册选择图片识别,需要用户动态授权外部存储器的访问权限。
图1.42中用虚线框包围的“取景拍照”和“选择图片”这两个模块,其功能封装在调用的App中,不需要用户单独编程。回调函数的名称为onActivityResult,是在“打开相机App”或“打开相册App”结束之后自动调用的模块,回调函数首先返回图片,然后调用识别模块。识别模块的函数名称为recognition,客户机向服务器发送图片并接收服务器的识别结果,都是在识别模块中完成的。
![](https://epubservercos.yuewen.com/A52FB2/31398333104740106/epubprivate/OEBPS/Images/Figure-P65_9017.jpg?sign=1739030147-EgwstSr8iv6glsKheb85525EBJ4wCZvj-0-4b452cbc995457e999f8909b3eca0524)
图1.42 客户机主控逻辑
识别模块的逻辑流程如图1.43所示。
![](https://epubservercos.yuewen.com/A52FB2/31398333104740106/epubprivate/OEBPS/Images/Figure-P65_9021.jpg?sign=1739030147-kvkyUvpifCctVtX8xawawScDddQyhQUr-0-134558719aa4157058ee3a6aefcb20dd)
图1.43 识别模块的逻辑流程
编码逻辑封装在主程序MainActivity中完成,如程序源码P1.11所示。
![](https://epubservercos.yuewen.com/A52FB2/31398333104740106/epubprivate/OEBPS/Images/Figure-P65_48353.jpg?sign=1739030147-s1om5RbIuZu8EeEi6fHu8AhF6T2EpasY-0-8169c8b3acdad20f043133a043b6afe4)
![](https://epubservercos.yuewen.com/A52FB2/31398333104740106/epubprivate/OEBPS/Images/Figure-P66_48354.jpg?sign=1739030147-peZa1BbTJyyf9TgEftm6fZ4nc0Vu5jvo-0-1790bfe99aafb6cdfbf2675f42379a23)
![](https://epubservercos.yuewen.com/A52FB2/31398333104740106/epubprivate/OEBPS/Images/Figure-P67_48363.jpg?sign=1739030147-5xDWBoMjJ70cYX5vRDfLJDJeWQQXxkLK-0-df01f4822283ac7ac2cac0c9eedc3608)
![](https://epubservercos.yuewen.com/A52FB2/31398333104740106/epubprivate/OEBPS/Images/Figure-P68_48365.jpg?sign=1739030147-2FuoXerWA1I8Xkn1z92FYknsuV8jXybJ-0-d8ec9987fd839be919aef6d45ad24a27)