最近打算写一个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. 51nod 1051 最大子矩阵和(dp)

    题目链接:51nod 1051 最大子矩阵和 实质是把最大子段和扩展到二维.读题注意m,n... #include<cstdio> #include<cstring> #inc ...

  2. MySQL drop、delete和truncate的区别

    注意:这里说的delete是指不带where子句的delete语句 相同点 truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 d ...

  3. 最新为Phpstorm配置xdebug 进行断点调试

    额  ,曾经写过一个,现在发现不咋好使了 ,你说咋整,下载xdebug的时候 还得注意系统是32位还是64位,而且一堆下载文件不知道是哪个. 额,所以我现在发现有个更好的方法,啥也不下了 直接配把  ...

  4. nginx全局变量实例对照 rewrite参考手册

    http://dwz.stamhe.com/index.php?_a=index&_m=show&count=10 remote_addr 客户端ip,如:192.168.4.2 bi ...

  5. iOS开发UI篇—简单的浏览器查看程序

    iOS开发UI篇—简单的浏览器查看程序 一.程序实现要求 1.要求 2. 界面分析 (1) 需要读取或修改属性的控件需要设置属性 序号标签 图片 图片描述 左边按钮 右边按钮 (2) 需要监听响应事件 ...

  6. iOS开发拓展篇—UIDynamic(重力行为+碰撞检测)

    iOS开发拓展篇—UIDynamic(重力行为+碰撞检测) 一.重力行为 说明:给定重力方向.加速度,让物体朝着重力方向掉落 1.方法 (1)UIGravityBehavior的初始化 - (inst ...

  7. Service中事务不能回滚的解决方式(转)

    1.在service方法里面如果对异常进行了捕获的话,该事务是不会进行回滚的        默认spring事务只在发生未被捕获的 runtimeexcetpion时才回滚.          spr ...

  8. 使用函数库(JAVA API)

    /*使用函数库(JAVA API) * 在JAVA的API里类被封装在一个个的package,要使用package的类之前必须 * 要知道这个类属于哪个package * 引用类方式: * 1.通过i ...

  9. c/c++面试题(4)字符串翻转/打印任意进制格式/类型转换

    1.字符串的翻转,这里一般是字符数组.不包括字符串字面值. char* reversal_str(char* str,size_t size); 翻转之后的字符串是原来的字符串的翻转. #includ ...

  10. Java中Stringbuffer、Arrays、Interger、Character类的特性

    1:StringBuffer(掌握) (1)用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了 一个字符串缓冲区类.StringBuffer供我们使 ...