OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
我们利用它来做一些图片的处理,能大大的优化内存的处理。下面我来说说接下OpenCV 的三种方式:
一、接入OpenCV 的Java SDK 包,这样你可以直接在Java调用OpenCV 的大部分方法。第一种方式适用于对Opencv c++ 不熟悉的童鞋,不需要直接调用C++方案, 因为SDK 已经用JNI 全部封装好了。假设你已经安装好JDK、AndroidStudio与NDK环境。
先到官网http://opencv.org/releases.html ,下载Android 包,如:opencv-3.2.0-android-sdk.zip。
sdk 目录提供了Android的API与Java 库
sdk/java 目录包含了一个 Eclipse 项目,该项目提供 OpenCV 的Java API,且可以导入到开发环境里。
sdk/native 目录包含了OpenCV C++ 头文件(用于JNI),与Android的 .so动态库 .a静态库。
sdk/etc 目录包含了Haar 与 LBP cascades 级联。
apk 目录包含了用户安装在指定的Android设备的安装文件,该文件使opencv 库可以管理opencv API
首先: File > New > New Module
然后:选择Import Eclipse ADT Project
把sdk/java 下的项目导入到项目里,然后把这个modules 添加到 app modules里,
直接在 app 目录下build.gradle 文件里dependencies 大括号下添加:
compile project(':openCVLibrary')
接着在 app/src/main 目录下 创建一个jniLibs 目录,然后把sdk/native/libs 下所有文件 拷贝到jniLibs下,编译,运行。
如果导入后,出现一些android 自带的类识别不了,那就是因为编译的SDK版本出错了。
打开 刚导入 的模块下 build.gradle 文件,把 compileSdkVersion 与 targetSdkVersion修改成你最新的SDK版本,如:
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26