Android-图像识别项目OpenCV(1):技术选型以及NDK搭建
闲了一段时间,Boss最近下达了新的项目,主要难点为:通过摄像头识别客户产品,并对产品作出反馈。
图像识别这方面以前没做过,国内可借鉴的应用也很少。因此,我决定FQ搜索一些资料,在StackOverflow里面找到了一些外国程序员的推荐:iqengines,并且Google Play能找到用此技术的应用。
试用了一下iqengines的效果还是不错的,但是缺点也明显——收费的。多于1000个识别的时候会收费,至于收费多少则未深入了解,因为付款麻烦之类的就被否决了。
再继续搜索了一下,得到另外一个推荐:OpenCV。然后继续发挥我谷粉的功力,又搜索了很多相关的资料,发现这个开源社区以及各种资料都做得不错,初步就选这个吧。
OpenCV官方文档:http://docs.opencv.org/index.html
OpenCV4Android:http://opencv.org/platforms/android.html
1、了解实现过程:
因此,我们需要安装好NDK,但NDK需要Linux环境支持,另外还要下载一个Cygwin。
2、搭建环境:
2.1、cygwin的安装和简单配置
首先到http://www.cygwin.com下载setup.exe
一路next,来到这步之后,选择如图:
最后启动Cygwin,测试安装是否成功:输入命令检查
出现以上版本信息则表明make 和gcc 已经安装成功。
2.2、NDK安装
首先到官网下载Android NDK,直接解压就行了。
添加环境变量方法:
Cygwin设置环境变量与在linux环境之中设置环境变量,配置上是一样。主要有三种方式: 1. export(立即生效,注销重启后消失) 如: #export PATH=$PATH:/opt/build_tools/bin 2. 修改系统的profile(需要注销重启) #vi /etc/profile 在里面加入: export PATH="$PATH:/opt/build_tools/bin" 3. 修改root(运行帐户)的.bashrc环境变量(需要注销重启) # vi /root/.bashrc 在里面加入: export PATH="$PATH:/opt/build_tools/bin" 设置完成后,可以使用 #export 命令查看是否正确。
添加环境变量:
NDKRoot=/cygdrive/<你的盘符>/
export NDKRoot
我的:
NDKRoot=/cygdrive/E/Android_NDK/android-ndk-r8
export NDKRoot
其中"NDKRoot"这个名字随便起,因为后面要用经常使用,建议不要太长。
重启cygwin,输入cd $NDKRoot进入对应目录,就成功了。
注意:添加时用UltraEdit打开添加,如果是中文OS 使用记事本或者写字板打开编辑后,重新启动Cygwin 会报错。可以按照下图方式转换:
安装成功后编译NDK中的一个例子命令行:
第一行命令应为cd $NDKROOT,这个参数是根据上面的设置而改变。
出现如图信息代表成功。
注:文章为本人原创,转载请标明出处为本人博客:http://www.cnblogs.com/TseChiHoi/。
下一篇文章:Android-图像识别项目OpenCV(2):运行官方例子中的脸部识别程序