本文是为 第二届 Google 暑期大学生博客分享大赛 - 2011 Android 成长篇 所写。
android很酷,opencv也很酷,如果把这两个结合起来,岂不是更酷。
好吧,这是opencvwiki下对对android的描述(点击打开链接),但这确实体现了很多人的想法,尤其是我---一个做图像应用方面的学生,两个很酷的方法要是结合起来岂不是更酷。
opencv在2.2时已经对android进行了支持,但是编译起来比较麻烦,可2.3发布之后,对android的支持变的更加容易了,官网上也有比较详细的描述。但是看起来和做起来还是有一定的距离的,于是这里我用自己实际的编译经历来给大家详细介绍下,希望对大家有所帮助。
1、首先是搭建环境。
a、既然是java开发,jdk是必须安装的,这里附上下载地址(点击打开链接),下载最新发布的jdk即可。
b、然后是eclipse的安装,对于opencv2.3.1而言,这里推荐是Eclipse 3.7 (Indigo) 或者Eclipse 3.6 (Helios),都能很好的工作。下载地址(点击打开链接)
c、最后当然不能忘了androidsdk的安装,至于在eclipse下如何配置android sdk,不是本文的重点了,网上有很多详细的介绍,推荐大家去看mars老师的android的视频(点击打开链接),介绍的很好。
2、获得android开发的opencv包。
a、去这里(点击打开链接)下载最新的版本,现在我下载时是OpenCV-2.3.1-beta1-android-bin.tar.bz2
b、解压到你的电脑中,我这里解压到D:/opencv2.3.1 目录下,这个目录下有两个文件夹,一个是opencv2.3.1,一个是samples。
3、在eclipse下配置opencv
这里也就是我们的关键所在了。其实很简单,只要按照步骤来做,一般是不会出错的。
a、打开eclipse,重新配置你的工作区,这里要把你的工作区放在刚才opencv解压的目录下,如下图所示。
2、重新配置android ADT插件
为什么说是重新配置呢,因为换了工作区后,原来配置的文件都失效了,找不到android SDK所在,所以要重新配置下。在Eclipse下选择Window -> Preferences,在android下重新选择SDK的位置,点apply。如下图所示。
3、将opencv和sample导入到工作区中
在eclipse下选择File-->Import-->Existing Projects into Workspace,然后选择opencv的目录,如下图
然后点击Finish就可以了,会遇到下面的错误:
这是正常的,点击ok即可。在左边的工程资源管理窗口中会是如下所示:
这时你所要做的就是不停的点击F5,然后就会自动的refresh workspace,最后虽有的感叹号和红叉叉都会消失的
这样就在eclipse下配置好了基本的opencv,因为opencv是预编译好的,所以即使不安装opencv也是可以的。
4、运行opencv例子
配置完之后,就可以检测下是否安装成功了,因为opencv很多的例子需要摄像头,所以这里只有两个例子可以进行测试。Tutorial 1 Basic - 0 和Tutorial 1 Basic - 1.
虚拟机要2.2以上才可以。
这是我运行Tutorial 1 Basic-1的效果图。
这就说明你的配置已经成功了,很酷吧,现在可以用opencv在android上开发各种好玩的应用了。