当前位置:文档之家› OpenCV环境搭建

OpenCV环境搭建

OpenCV环境搭建
日期:2015/9/21姓名:俞豪敏
1.Eclipse下搭建安卓开发环境
注意事项:不推荐使用ADT-bundler,这个为安卓开发是很方便,但是对我们的ndk搭建会很麻烦。

1.1.JDK的安装配置
JDK版本:jdk1.7.0_67
下载并安装JDK,并在环境变量中设置JDK路径
1.2.下载并安装Eclipse
Eclipse版本:Mars javaEE 64位系统
直接按步骤安装即可。

1.3.下载并安装SDK
SDK的安装是一个很复杂的过程,因为google网页限制,所以下载速度及其慢,建议到网页上搜索SDK,打开SDK manager安装你想要安装的版本API(我安装了4.4W,5.0,6.0等普遍系列)
1.4.为Eclipse安装ADT插件
版本号:23.0.6。

版本需要注意的是,如果你的JDK版本过高而IDE不够的话是无法显示xml 的可视化编写的。

前面我们已经配置好了java的开发环境,安装了开发Android的IDE,下载安装了Android SDK,但是Eclipse还没有和Android SDK进行关联,也就是它们现在是互相独立的。

为了使得Android应用的创建,运行和调试更加方便快捷,Android的开发团队专门针对Eclipse IDE定制了一个插件:Android Development Tools(ADT)。

ADT的安装有两种:1.在线,2.离线。

建议离线安装,还是因为谷歌原因,连接非常慢,所以离线下载资源并安装。

1.在线安装ADT的方法:
启动Eclipse,点击Help菜单-> Install New Software… ?,点击弹出对话框中的Add… 按钮。

然后在弹出的对话框中的Location中输入:
/android/eclipse/,Name可以输入ADT,点击“OK”按钮。

在弹出的对话框选择要安装的工具,然后下一步就可以了。

这里要注意的是,务必选择全部安装!如不选择,可能无法显示出NDK!
安装好后会要求你重启Eclipse,Eclipse会根据目录的位置智能地和它相同目录下Android sdk进行关联,如果你还没有通过sdk manager工具安装Android任何版本的的sdk,它会提醒立刻安装它们。

如果Eclipse没有自动关联Android sdk的安装目录,那么你可以在打开的Eclipse选择Window -> Preferences ,在弹出面板中就会看到Android设置项,填上安装的SDK 路径,则会出现刚才在SDK中安装的各平台包,按OK完成配置。

2. 离线安装大同小异
Help菜单-> Install New Software… ?,点击弹出对话框中的Add… 按钮。

名字随便去,但是Location写到你的ADT位置。

ADT请不要解压!zip格式即可!
其他与在线一致。

最后重启即可
到这里位置,我们的安卓环境已经搭建完成。

2.Eclipse下搭建OpenCV开发环境
2.1.NDK的下载及配置
NDK版本号:android-ndk-r10e
NDK是使用c语言编写的关键,在早前的版本是需要搭建cygwin来同时开发的,但是由于cygwin的搭建非常复杂,所以r9版本以后的NDK都可以实现生成os文件,为android所用,非常方便。

下载好NDK,到Window的Perfenrence下,如下图。

在这里提醒下,如果ADT安装的时候缺了什么,可能NDK会显示不出来。

首页也提到了,用bundler是不能显示出NDK的,也就无法配置ndk
输入ndk位置即可。

2.2.OpenCV下载
版本号:OpenCV 3.0.0
到官网下载即可,下载以后解压至你的workspace中。

在这里需要注意的是:SDK和Samples 一定要在同一个文件夹下,否则无法正常导入library!
到这里为止,环境已经搭建完成,下面来导入第一个sample。

3.Sample导入
我们进入samples可以看到,有些项目中有jni文件夹,有些没有。

有jni的是c++环境,没有的则是Java ide,在此不赘述Java,和导入普通的android项目一样。

在eclipse中首先导入OpenCV的sdk,可以看到是一个library,一般不会有问题,如果报错,在project->clean选择清理一下,即可。

然后就导入samples,这里以face-detection为例,在eclipse中导入。

正常情况下是不会报error的错误的!除非你的sdk和sample不在一个文件夹下。

导入以后也会出错!所以务必注意。

还有一种情况:如果res下的project文件报错,说明是SDK版本号的问题,更改一下你已经安装的SDK API版本号即可。

如下(20就是对应的4.4W版本):
android.library.reference.1=../../sdk/java
# Project target.
target=android-20
运行编译。

会报无法启动ndk的错误,需要配置一下ndk
右键工程到properties,修改NDK位置。

到这里就已经完成了所有工作了,只剩下调试步骤:
我是用真机调试,真机调试前,需要在手机中安装OpenCV的apk的,该apk在我们最初解压的OpenCV的apk中,找到对应你CPU架构的apk,存到手机后安装即可。

然后就可以到手机上运行程序了。

完成。

问题
可生成os文件,但失败报错:
jni/Android.mk:3: ../OpenCV-SDK/native/jni/OpenCV.mk: No such file or directory
make.exe: *** No rule to make target `../OpenCV-SDK/native/jni/OpenCV.mk'. Stop.
以上错误是因为导入的sample没有找到对应的sdk文件目录,所以.mk文件无法正常工作。

/ndk-build.cmd" not found
如果是这个问题代表你的ndk有问题,不要用以下方法添加路径,我在运行时还会报错。

相关主题