随着安卓设备计算能力的快速增强,越来越多的开发者在Android设备中开发图形图像处理程序,比如人脸识别,眼球追踪,图片美化等等。OpenCV作为非常成功的图形图像处理库在PC上得到了非常广泛的应用,很多开发者也在Android设备中基于OpenCV进行开发图形图像处理程序。
本篇给大家介绍一下如何在Intel Android设备 MOTO MT788中安装和配置基于OpenCV的项目开发。其余Android设备配置可以参考此版。
1、安装JDK
(1) 配置环境变量
a. 编辑系统环境变量path, 添加
%JAVA_HOME%\bin;
c. cmd -> javac –version
输出版本号,则成功
2、 SDK Manager下载Intel x86 System Image
使用SDK Manager下载image前请关闭eclipse,否则更新过程中会出现权限问题。
因为bundle版自带的是Android 4.2以及 ARM EABI v7a System Image, 所以我们需要使用SDK Manager来安装Android 4.0.3和Intel x86 Atom System Image.
(1) 启动SDK Manager之后会自动检测Android版本:
如果速度慢,则Tools -> Options设置下代理,下面是我用的代理
代理设置后会很快检测到所有的Android版本,只有Android 2.3.3和Android4.0.3以上版本才有Intel x86 Atom System Image, 如果没有检测到,关闭SDK Manager, 重新打开应该就可以检测到。
(3) CDT的安装
打开Eclipse, 建议新建一个EyeTracking workspace的工作空间:
Help -> Install New Software ->
-> Add
-> Archive
选择
->Select All
按照默认安装完成,重启Eclipse。
File -> new -> Project
若出现C/C++ Project则表示安装成功。
5、NDK的在Eclipse中的配置
(1) 打开Eclipse, Window -> Preferences -> C/C++ -> Build ->Environment
新建变量NDKROOT, 值为解压的NDK的根目录。
这个变量是对当前的workspace有效。
(3) 转化为C/C++工程
右键刚刚建立的Android工程 -> New -> Convert to a C/C++ Project(如果没有就在Other里找)
这里选Makefile project 和 --Other Toolchain--
(5) 设置工程属性
右键点击工程 -> Properties -> C/C++ Build
Behaviour设置如下
OK之后,控制台给出信息:
这个时候项目还会报错,是因为.cpp文件中的头文件没有导入
(7) OpenCV配置
(1) 把OpenCV Library引入项目
右键TestAndroidOpenCV -> Properties -> Android -> Add
(3) 在MainActivity.java中添加下面代码
保证OpenCV能够首先initialize
7、 虚拟设备
a. 添加新设备
c. 真机设备
a. 右键Computer -> Manage -> Device Manager
c. 安装驱动
右键Android-Phone -> Properties -> Driver -> Update Driver
目录填<Android-sdk>\extras\google\usb_driver
安装成功之后
这个时候打开cmd -> adb devices看下输出:
如果没有检测到设备,推荐安装91手机助手,只要把它打开就能检测到
Adb是Android sdk中tools下的命令,建议把tools和platform-tools都加入环境变量:
(3) 选择调试设备
右键项目 -> Run As -> Run Configurations -> Android Application -> 项目名称 -> Target
可以根据需要进行选择。
至此Android + OpenCV的环境已经基本搭建完成,从OpenCV官网上摘了个控制摄像头启动的例子,运行成功。
图标图像:
