opencv4android开发文档翻译第一篇Android OpenCV Manager
2014-12-09 15:06
393 查看
OpenCV4Android Reference
openCV for android 参考
一. Android openCV Manager(android openCV 管理器)
内容:
1. introduction(简介)
openCV Manager 是一项向终端设备用户提供针对openCV库文件进行管理的android服务。它允许在同一设备上的不同应用之间共享openCV动态库。管理器(openCV Manager)提供的好处如下:
<1>.更少的内存占用。所有的APP通过调用服务使用相同的库,没必要每个都去加入库文件。
<2>.对所支持的平台硬件特性优化
<3>.可信的openCV库源。所有与openCV有关的包都发布在谷歌Play商店
<4>.定期更新和BUG修复
a. Usage model for end user(终端用户使用模式)
第一个OpenCV APP:
<1>.任何基于openCV的APP必须从谷歌市场下载或手动安装
<2>.第一次加载时,他会提示openCV Manager的安装信息
<3>.然后用谷歌商店下载安装
<4>.当Manager已经启动时,应用会提示对于当前设备的OpenCV是否合适
<5>.安装完成之后,APP启动
b. Architecture of OpenCVManager(OpenCV管理器的体系结构)
2. manager workflow(管理工作流)
<1>怎么选择合适的opencv manager 版本
从1.7版本开始,openCvmanager 就有了不同的几个版本。每个包针对不同的硬件平台,匹配不同的opencv库。因此,在大多数情况下,opencv manager使用内置的openCV版本。单独的opencv库的包一般用在罕见的情况,当一个不支持neon 的ARMV7A处理器被检测到的时候。在这种情况下,就需要一个额外的包。新的包选择逻辑在大多数情况下,简化了opencv在终端用户的安装。大多数情况下,opencv manager会在谷歌应用商店自动安装。
如果谷歌应用商店不可用(例如在模拟器、开发面板等),你可以用adb tool来进行手工安装。代码如下:
Adb install OpenCV-2.4.9-android-sdk/apk/OpenCV_2.4.9_Manager_2.18_<platform>.apk
使用下面的表来选择合适的opencv manager
<2>第一次应用程序的启动
在opencv 库中是没有opencv manager的
<3>其他库的安装
有opencv manager 服务,但是不包括适当的opencv库。如果已经允许安装了opencv库:
如果opencv库取消了安装:
<4>应用程序启动规则
Opencv manager和opencv库已经安装完毕:
3. java openCV Loader(java openCV 加载)
类OpenCVLoader
辅助类为opencv库提供共同的初始化方法
<1>BooleaninitDebug()
Static BooleaninitDebug()
从当前应用程序包中加载和初始化opencv库。大体上跟system.loadLibrary(“opencv_java”)相似.
返回值类型:boolean
返回值:当opencv初始化完成后返回true
注意:这个方法已经弃用。它是专为实验和本地开发而设计的。如果你想发布你的APP请使用异步初始化方法。
<2>BooleaninitAsync()
Static BooleaninitAsync(String Version,Context AppContext,LoaderCallbackInterface callback)
使用opencv manager加载和初始化opencv库.
参数:Version –opencv library version(opencv库版本)
AppContext –连接到服务的应用程序上下文
Callback -对象,实现加载回调接口LoaderCallbackInterface,来处理连接状态(参见BaseLoaderCallback)
返回值类型 Boolean
返回值 如果opencv初始化启动成功返回true
<3>opencvversion constants(版本常量)
OPENCV_VERSION_2_4_2
Opencv Library version 2.4.2
OPENCV_VERSION_2_4_3
Opencv Library version 2.4.3
OPENCV_VERSION_2_4_4
Opencv Library version 2.4.4
OPENCV_VERSION_2_4_5
Opencv Library version 2.4.5
OPENCV_VERSION_2_4_6
Opencv Library version 2.4.6
OPENCV_VERSION_2_4_7
Opencv Library version 2.4.7
OPENCV_VERSION_2_4_8
Opencv Library version 2.4.8
4. base Loader Callback InterfaceImplementation(基本加载回调接口实现)
类BaseLoaderCallback
LoaderCallbackInterface的基本实现类。这个实现的逻辑使用下面的机制比较好理解:
<1>Usingin java Activity
这里有一个非常基础的实现异步初始化BaseLoaderCallback的代码片段.想了解更多详见“15-puzzle”opencv样例。
<2>Using inService
默认的BaseLoaderCallback实现把应用程序上下文当作Activity来处理,如果初始化失败调用Activity.finish()方法。重写这一方法你需要重写BaseLoaderCallback类中的finish()方法,用你自己最终的方法实现。
5. Loader Callback interface(加载回调接口)
6. Install Callback Interface(安装回调接口)
openCV for android 参考
一. Android openCV Manager(android openCV 管理器)
内容:
1. introduction(简介)
openCV Manager 是一项向终端设备用户提供针对openCV库文件进行管理的android服务。它允许在同一设备上的不同应用之间共享openCV动态库。管理器(openCV Manager)提供的好处如下:
<1>.更少的内存占用。所有的APP通过调用服务使用相同的库,没必要每个都去加入库文件。
<2>.对所支持的平台硬件特性优化
<3>.可信的openCV库源。所有与openCV有关的包都发布在谷歌Play商店
<4>.定期更新和BUG修复
a. Usage model for end user(终端用户使用模式)
第一个OpenCV APP:
<1>.任何基于openCV的APP必须从谷歌市场下载或手动安装
<2>.第一次加载时,他会提示openCV Manager的安装信息
<3>.然后用谷歌商店下载安装
<4>.当Manager已经启动时,应用会提示对于当前设备的OpenCV是否合适
<5>.安装完成之后,APP启动
b. Architecture of OpenCVManager(OpenCV管理器的体系结构)
2. manager workflow(管理工作流)
<1>怎么选择合适的opencv manager 版本
从1.7版本开始,openCvmanager 就有了不同的几个版本。每个包针对不同的硬件平台,匹配不同的opencv库。因此,在大多数情况下,opencv manager使用内置的openCV版本。单独的opencv库的包一般用在罕见的情况,当一个不支持neon 的ARMV7A处理器被检测到的时候。在这种情况下,就需要一个额外的包。新的包选择逻辑在大多数情况下,简化了opencv在终端用户的安装。大多数情况下,opencv manager会在谷歌应用商店自动安装。
如果谷歌应用商店不可用(例如在模拟器、开发面板等),你可以用adb tool来进行手工安装。代码如下:
Adb install OpenCV-2.4.9-android-sdk/apk/OpenCV_2.4.9_Manager_2.18_<platform>.apk
使用下面的表来选择合适的opencv manager
<2>第一次应用程序的启动
在opencv 库中是没有opencv manager的
<3>其他库的安装
有opencv manager 服务,但是不包括适当的opencv库。如果已经允许安装了opencv库:
如果opencv库取消了安装:
<4>应用程序启动规则
Opencv manager和opencv库已经安装完毕:
3. java openCV Loader(java openCV 加载)
类OpenCVLoader
辅助类为opencv库提供共同的初始化方法
<1>BooleaninitDebug()
Static BooleaninitDebug()
从当前应用程序包中加载和初始化opencv库。大体上跟system.loadLibrary(“opencv_java”)相似.
返回值类型:boolean
返回值:当opencv初始化完成后返回true
注意:这个方法已经弃用。它是专为实验和本地开发而设计的。如果你想发布你的APP请使用异步初始化方法。
<2>BooleaninitAsync()
Static BooleaninitAsync(String Version,Context AppContext,LoaderCallbackInterface callback)
使用opencv manager加载和初始化opencv库.
参数:Version –opencv library version(opencv库版本)
AppContext –连接到服务的应用程序上下文
Callback -对象,实现加载回调接口LoaderCallbackInterface,来处理连接状态(参见BaseLoaderCallback)
返回值类型 Boolean
返回值 如果opencv初始化启动成功返回true
<3>opencvversion constants(版本常量)
OPENCV_VERSION_2_4_2
Opencv Library version 2.4.2
OPENCV_VERSION_2_4_3
Opencv Library version 2.4.3
OPENCV_VERSION_2_4_4
Opencv Library version 2.4.4
OPENCV_VERSION_2_4_5
Opencv Library version 2.4.5
OPENCV_VERSION_2_4_6
Opencv Library version 2.4.6
OPENCV_VERSION_2_4_7
Opencv Library version 2.4.7
OPENCV_VERSION_2_4_8
Opencv Library version 2.4.8
4. base Loader Callback InterfaceImplementation(基本加载回调接口实现)
类BaseLoaderCallback
LoaderCallbackInterface的基本实现类。这个实现的逻辑使用下面的机制比较好理解:
<1>Usingin java Activity
这里有一个非常基础的实现异步初始化BaseLoaderCallback的代码片段.想了解更多详见“15-puzzle”opencv样例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | publicclassMyActivityextends Activityimplements HelperCallbackInterface { private BaseLoaderCallback mOpenCVCallBack=new BaseLoaderCallback(this){ @Override publicvoidonManagerConnected(int status){ switch(status){ case LoaderCallbackInterface.SUCCESS: { Log.i(TAG,"OpenCV loaded successfully"); // Create and set View mView =new puzzle15View(mAppContext); setContentView(mView); }break; default: { super.onManagerConnected(status); }break; } } }; /** Call on every application resume **/ @Override protectedvoidonResume() { Log.i(TAG,"Called onResume"); super.onResume(); Log.i(TAG,"Trying to load OpenCV library"); if(!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_6,this, mOpenCVCallBack)) { Log.e(TAG,"Cannot connect to OpenCV Manager"); } } |
默认的BaseLoaderCallback实现把应用程序上下文当作Activity来处理,如果初始化失败调用Activity.finish()方法。重写这一方法你需要重写BaseLoaderCallback类中的finish()方法,用你自己最终的方法实现。
5. Loader Callback interface(加载回调接口)
6. Install Callback Interface(安装回调接口)
相关文章推荐
- 【Android应用开发】Android 蓝牙低功耗 (BLE) ( 第一篇 . 概述 . 蓝牙低功耗文档 翻译)
- 【Android应用开发】Android 蓝牙低功耗 (BLE) ( 第一篇 . 概述 . 蓝牙低功耗文档 翻译)
- 【Android应用开发】Android 蓝牙低功耗 (BLE) ( 第一篇 . 概述 . 蓝牙低功耗文档 翻译)
- 【Android开发】Android Host详解(翻译自官方文档)
- Android Interface Definition Language (AIDL) android接口定义语言 开发文档翻译 - 2
- android 进程与线程 - 开发文档翻译 - 线程
- android Fragment开发文档翻译 - 2
- Android帮助文档翻译——开发指南(二)Activity
- android 缓存Bitmap - 开发文档翻译
- android - 为安全而设计 - 3 - 开发文档翻译
- Android帮助文档翻译——开发指南(十五)获取用户位置
- android - 为安全而设计 - 1 - 开发文档翻译
- Android帮助文档翻译——开发指南(十五)获取用户位置
- android 在UI线程之外处理Bitmap - 开发文档翻译
- android 管理Bitmap内存 - 开发文档翻译
- Android Interface Definition Language (AIDL) android接口定义语言 开发文档翻译 - 1
- android task与back stack 开发文档翻译 - 3
- android task与back stack 开发文档翻译 - 2
- android activity开发文档翻译 - 1 - 基础篇
- android 在UI线程之外处理Bitmap - 开发文档翻译