c4android资源,OpenC4Android开发环境搭.doc
开发环境:windows+ADT Bundle+CDT+OpenCV-2.4.4-android-sdk
一、OpenCV2.4简介
OpenCV近年来发展迅猛,随着Android智能终端的发展,越来越多的传统科研平台都转向Android移动终端。记得2010年人们还不大知道Android,当时第一次用OpenCV还是用的1.0.2版本在VC6.0上。早期的OpenCV只提供C语言接口,你要申请个矩阵还得CvMat *mat ?= cvCreateMat(...)写一大串,这样做是为了保证程序的运行效率,带来的不便是要开发者手动管理内存分配,稍有不慎内存泄漏那是常有的事。在OpenCV的发展历程上,第一次飞跃是2009年10月1日发布的2.0版本,该版本支持C++接口 了,是直接从1.2版本跳到2.0。不久又推出了2.1,自此后想要移植OpenCV至嵌入式系统,在编译时必须借助CMake工具,而以往的不用。
第二次飞跃是在2010年6月发布的2.3、2.3.1版本,除提供C++接口向下兼容C接口外,新增了Java接口,且是对准Android平台。更重要的是以前官方不支持ndk-build,这次终于一统JNI接口调用方式,方便在Android上开发使用。2012年4月2日发布了2.4版本,支持windows/Linux、Mac/Android/IOS四大系统。
最新的版本是2013年11月11日发布的2.7版本。我电脑上配置的是2.4.4版本。
从2.4之后,为了和Android的系统架构保持同步,准确说是吸收Android框架层的优点,引入了OpenCV Manager的概念,其本质就是一个Service,用来管理OpenCV动态链接库。它工作在APP和OpenCV的动态链接库之间。OpenCV Manager的结构就是模仿Android的Binder机制。其架构图如下:
APP在运行时会首先检查OpenCV Manager存在不,如果不存在则会提示安装。如果存在,就会连接这个服务,进一步初始化加载OpenCV库。流程如下:
对于开发者而言,了解即可。从应用层面讲,将OpenCV-2.4.4-android-sdk解压后,会看到如下文件夹:
其中sdk就是开包时要用到的包,samples是自带的示例,doc是说明文档,apk则就是OpenCV Manager。手机想要运行基于OpenCV的Java接口的程序,就必须先安OpenCV Manager。
不同的手机选择不同的版本,如果是英特尔平台就选那个带x86的。比较老的手机不支持ARMv7的选第三个。根据android的版本选择前两个。我手机支持的是第一种。安装后即可。
二、Android APP通过Java接口调OpenCV
1、配置
配置其实比较简单,比之前的用JNI接口调OpenCV要简单很多,不过为了保持同步,也即以后的开发中可以随意混用Java接口和JNI接口,我们仍将压缩包解压到跟工作空间平级的目录。然后将解压后的sdk文件夹命名为OpenCV4Android-sdk,拷贝到新建的工作空间中。假设新建的工作空间名为OpenCV4Android。
【备注:这里让它两平级是为了以后JNI调用时无需修改mk文件。注意解压后会嵌套一个目录,把它拷到最外层。sdk文件夹命名和拷贝到新的工作空间都不是必须的。】
打开Eclipse切换到这个新的工作空间,右键import---General---Existing Projects into workspaces,选择OpenCV解压后的那个sdk包。导入后看是否有错误,我的是提示找不到java.util.List这个包,原来是没有加载进来Android的SDK。选中项目,按快捷键Alter + Enter,点Android,选中一个SDK,要求3.0以上。然后clean一下,看bin文件夹下的opencv library - 2.4.4.jar是否生成,如果它生成了就表示已经导入成功。
2、新建项目并引入上面的jar包
任意新建一个Android Application Project,然后选中该项目快捷键Alter + Enter,在下面的加库区域点Add,将导入工作空间的opencv sdk选中:
可以看到在Android Dependencies中将刚到导包bin目录下生成的jar文件导进去了。之后就可以使用opencv的API了。
【备注:说白了就是为了把这个jar包导进来。在生成这个jar包后可以把它拷出来,新建一个user library HYPERLINK "/yanzi1225627/article/details \t "_blank" 参见导原生camera到ecli
c4android资源,OpenC4Android开发环境搭.doc相关推荐
- vs2010 wdk c语言,Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建.doc
Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建.doc [置顶]Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建(菜鸟的经验) 分类: 驱动开发 ...
- STM32F4 | 最小系统设计 | 开发板资源介绍 | 开发环境搭建 | 程序下载
文章目录 一.STM32最小系统设计 1.什么叫MCU最小系统? 2.STM32最小系统 2.1 供电电路(电源部分) 2.2 复位电路 2.3 时钟电路 2.4 BOOT启动模式选择 2.5 下载电 ...
- 用电子计算机控制海洋牧场,教师用书2016 2017学年高中地理第2单元开发海洋资源第3节海洋生物资源及其开发整合提升.doc...
文档介绍: 教师用书2016_2017学年高中地理第2单元开发海洋资源第3节海洋生物资源及其开发整合提升教师用书2016_2017学年高中地理第2单元开发海洋资源第3节海洋生物资源及其开发整合提升 第 ...
- EC600 QuecPython开发环境搭建、固件下载,最方便的OpenCPU物联网4G通信解决方案
EC600 QuecPython 官方资源汇总 开发环境搭建 1.安装windows驱动 2.验证模组的固件版本 3.烧录QuecPython固件 小试QuecPython 1.查看系统信息 2.点亮 ...
- esp8266 rtos 开发环境 ubuntu_esp8266/32~资源帖[持续更新]
一. 背景 最开始入手esp8266是大三下学期(16年),好像当时是同专业的一朋友带入坑的.刚开始玩ardunio想通过esp8266到app,ardunio是通过AT指令和8266交互的.后面用着 ...
- 鸿蒙运行linux,【鸿蒙资源】已经配置好鸿蒙开发环境的Ubuntu 20.04镜像
1 .前言: 目前鸿蒙系统的开发环境主要分为 windows 和 Linux两个平台.目前编译 鸿蒙系统的代码还是需要在 Linux环境下. 关于Linux的环境搭建官方有提供文档说明:https:/ ...
- 使用乐鑫官方资源搭建基于Arduino的ESP32的开发环境
目录 一.配置IDE管理器 二.自动安装板支持包 三.手动安装板支持包 四.网盘的ESP32全系列基本库的板支持包 使用乐鑫官方库搭建Arduino开发环境. 乐鑫官方Github:GitHub - ...
- 【C#+SQL Server+打印组件】实现电商快递单打印系统 二:数据库设计与开发环境(附源码和资源)
需要源码和资源请点赞关注收藏后评论区留言私信~~~ 一.系统开发环境要求 开发快递单打印精灵项目的计算机需要满足以上条件 操作系统:windows7以上 开发环境:Visual Studio 2022 ...
- 【C#+Access+WindowsAPI】实现仿360的安全卫士 一:功能展示与系统开发环境简介(附源码和资源)
需要源码和资源请点赞关注收藏后评论区留言私信~~~ 其他部分文章链接如下 [C#+Access+WindowsAPI]实现仿360的安全卫士 二:主窗体设计讲解(附源码和资源) [C#+Access+ ...
最新文章
- C++中的两种绑定方式(静态绑定、动态绑定)
- 苹果宣布创立欧洲首个iOS开发中心
- 华为手机连电脑_华为手机微信聊天记录如何导出电脑的四大方法
- 【LiveVideoStack线上分享】— 海外复杂网络环境下的视频播放体验优化
- java安全编码指南之:输入注入injection
- 云计算技术的跃进睿云智合专业先进水平
- java衍生作用_java-如何从AffineTransform衍生的形状对象中“...
- shell 除法 小数点
- dumpe2fs命令详解
- 世界第一台电脑_阿里推出云电脑“无影”,名片大小的机身,却有无穷的计算能力...
- Visual C#.Net 网络程序开发-Socket篇
- Android病毒家族及行为(一)
- 数据库查询条件是list的集合
- 快手调整员工福利,​减少房补,增加生育津贴;百度网盘青春版正式上线,被吐槽;雷军回应小米对标苹果遭冷嘲热讽 | EA周报...
- ps怎么做油漆喷溅画效果
- 多少程序员的梦想职位,成为阿里P7真的就这么难吗-学会这些就够了
- 如何用mysql创建orders表_MySQL学习十四创建和操纵表
- Oracle分区表详解,分区表创建,分区表按日期划分
- 编写一递归函数求斐波纳契数列1,1,2,3,5,8,13,…的前40项。c语言
- 5G时代的物联网:福器还是凶器
热门文章
- 生活不易,且行且珍惜
- 16Adapter(适配器)模式
- python3创建多线程的几种方法
- OpenVINO2021.4+YOLOX目标检测模型部署测试
- AI 框架部署方案之模型部署概述
- 他被导师半夜敲门叫醒:你得诺贝尔奖了!还曾为5G频谱拍卖设计方案,担任谷歌IPO咨询顾问...
- The last packet successfully received from the server was 1,547,682,071 milliseconds ago. The last
- 一个类可以实现多个接口但是只能实现一个类
- Drug Discov. Today | 简要综述GNNs用于分子性质预测
- Pheatmap热图的绘制及如何调整图片