最近打算写一个android 平台opencv 的小程序,着手查找了一下资料.网络上的资料参差不齐,有一些都比较老旧,我参考了前面的方法找到了一个简单的搭建方法,分享给大家.

0,环境的搭建:

  java 虚拟机环境搭建,网络资料很多不再赘述.

  android 开发环境的搭建参见我的上一篇博客 基于adt-bundle-windows-x86的android开发环境搭建.

  下面说明如果搭建 android opencv 环境:

  下载NDK http://developer.android.com/tools/sdk/ndk/index.html  ,

  下载Opencv-android-sdk  OpenCV for Android

  下载 CDT http://www.eclipse.org/cdt/downloads.php

  Eclipse 安装CDT  有许多方法 ,我这里是在Eclipse  工具栏 ,help  --> install new  software -->  add  -->  archive ,打开刚才下载的压缩及可.

  安装完 CDT  ,这里可以看到 c / c++  这一项

 

  把NDK 和 opencv-android-sdk 解压到你的程序目录.

  导入官方的工程文件,过程如下图:

  

这里直接选择你的opencv-android-sdk目录即可,所有工程文件将自动导入.

此时导入的工程文件会提示有许多错误 ,不要紧,这里配置还未完成 .设置NDK环境变量, 在系统中添加

NDKROOT 环境变量,变量值为你NDK的路径.需要强调一点,如果你是window环境,路径要用短路径名,如我的图:

  

修改jni 目录中Android.mk 中的include 目录,如果是windows 环境 修改成像这样的 include D:\Progra~1\OpenCV-2.4.7.1-android-sdk\sdk\native\jni\OpenCV.mk

OpenCV library这个工程是所必需的库文件, 所以导入的时候要一起导入.

紧接如下图修改project build target 和 library 即可:

  

进行一下,project --> clean  导入的工程文件应该都可以编译了.

1,运行官方的例子

  手机端需要首先安装 opencv manager  ,这个在\OpenCV-2.4.7.1-android-sdk\apk  中 ,这几个包我在小米 2s 安装都可以.

  运行OpenCV Sample - face-detection 例子.

  

2,anroid 基于opencv  数卡程序.

原想基于opencv 编写数卡的程序,后来下载和学习zxing 发,现在zxing 源码上进行修改更容易实现,所以便不在这里更新内容.感性趣的可以看下一篇zxing 一维码部分深入分析与实际应用.

参考及阅读推荐:

  http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/O4A_SDK.html

 http://www.cnblogs.com/TseChiHoi/archive/2012/10/19/2726524.html

  

Android OpenCV 图像识别的更多相关文章

  1. WINDOWS系统Eclipse+NDK+Android + OpenCv

    WINDOWS系统Eclipse+NDK+Android + OpenCv 参考文档博客 1 NDK环境搭建 http://jingyan.baidu.com/article/5d6edee22d90 ...

  2. Android OpenCV样例调试+报错处理

    1.OpenCV样例调试:<OpenCV Sample - image-manipulations>       blog+报错:E/CAMERA_ACTIVITY(17665): Cam ...

  3. Android+openCV 的坑

    之前一直用IntelliJ IDEA 导入 opencv_android_sdk 的 java 包,在最后一步finish时,始终出错. 后来重新安装Android Studio 重复以上步骤,能顺利 ...

  4. android opencv

    最近工作需求:用opencv来先做一个demo.扫描照片进行边缘检测和透视矫正. 之后会加入照片降噪等处理. 请教了一下搞图像的同事.他的提议: 1.绿盟的“黄色照片检测” 用的是动态的opencv库 ...

  5. 【感受】android + opencv + umat + opencl使用感受

    近期编译了android下支持opencl的opencv,使用opencl能力的关键是用cv::UMat替换cv::Mat. 实际使用后发现坑很多,非常不成熟,不推荐使用这种方式来提升实际产品的性能. ...

  6. Android开发(51) 摄像头自动对焦。在OpenCV图像识别中连续拍照时自动对焦和拍照。

    概述 对焦,这里所说的“焦”是指“焦距”.在拍照时,一定是需要调焦的.一般会在目标位置最清晰的时候会停止对焦.最近在处理OpenCV进行图像识别时,需要连续的调焦(对焦),并在对焦完成后进行拍照,获取 ...

  7. eclipse+android+opencv环境搭建的步骤

    ---恢复内容开始--- 2016年4月12日编写 一.第一步:搭建eclipse开发环境 1.在eclipse官网中下载eclipse.zip进行解压即可.没有版本要求,但要和电脑的位数相匹配.如: ...

  8. Android OpenCV实现图片叠加,水印

    关于如何用纯OpenCV实现图片叠加的例子实在是太少,太多的是使用 C++,JNI实现的,如果要用C++的话,我们为啥不转行做C++ 下面的例子基于 Android JavaCV 实现了在im_bea ...

  9. Android+openCV人脸检测2(静态图片)

    前几篇文章中有提到对openCV环境配置,这里再重新梳理导入和使用openCV进行简单的人脸检测(包括使用级联分类器) 一 首先导入openCVLibrary320 二 设置gradle的sdk版本号 ...

随机推荐

  1. 无法查找或打开pdb文件

    工具->选项->调试{常规->启动源服务支持,符号->Microsoft符号服务器} 如果再不行.要重新生成一下,(不是重新生成解决方案)

  2. Windows—JDK安装与环境变量配置

    本文介绍JDK的安装与环境变量配置. 工具/原料 JDK1.8.0_65 WIN7 32bit jdk-8u65-windows-i586.exe 方法/步骤  安装JDK 选择安装目录 安装过程中会 ...

  3. easyui-textbox 和 easyui-validatebox 设置值和获取值

    表单作如下定义:该input使用easyui的"easyui-textbox" <input id="addSnumber" style="wi ...

  4. Sharepoint2012 Report权限

    在主文件夹下,点击“文件夹设置”,如下图: 在打开的界面中,点击“新建角色分配”,如下图: 在打开的界面中,录入window组名,或是AD域账号,选择以下的角色,点击确定即可.

  5. PHP过滤外部链接及外部图片 添加rel="nofollow"属性

    原来站内很多文章都是摘录的外部文章,文章里很多链接要么是时间久了失效了,要么就是一些测试的网址,如:http://localhost/ 之类的,链接多了的话,就形成站内很多死链接,这对SEO优化是很不 ...

  6. Goldengate 12.2新特性-自描述的队列文件

    OGG12.2中最大的变化之一就是队列文件是自描述的,意思是不再担心以前版本中,表结构异构的情况,也不再需要defgen生成定义文件,以及不再使用assumeTargetDefs或SourceDefs ...

  7. Javascript中封装window.open的例子

    对window.open进行封装, 使其更好用, 且更兼容, 很多人说window.open不兼容,其实不是, 因为不能直接执行, 必须通过用户手动触发才行;看代码: 代码如下 复制代码 var op ...

  8. 系统不支持curl

    解决安装pinphp时出现的“系统不支持curl!”   今天在本机安装phppin开源程序时,提示“系统不支持curl!”错误. 由于我本机是UBUNTU系统,所以直接通过apt-get进行安装. ...

  9. Eclipse安装easyShell插件

    easyshell是一个用于快速打开文件目录.复制文件路径.cmd打开等等的eclipse插件工具. Eclipse下安装easyshell: 1.打开Eclipse商店 2.输入easyShell点 ...

  10. 收到远程通知,怎么区分是点击通知栏提醒进去的还是在foreground收到的通知?

    我现在是要区分点击通知栏的通知进入应用还是点击应用图标进入的,1,开始程序都是在后台.2,接受通知都是在foreground状态.applicationdidFinishLaunchWithOptio ...