OpenCV的部署

13 篇文章 13 订阅

存粹阅读,请访问OpenCV的部署

官网

官网

之前时间比较紧张,在网上找了很多文章,写了一个人脸识别的程序,也是模棱两可,今天开始抽时间系统学习一下OpenCV在Android上的使用。

OpenCV版本

后面用到的是OpenCV的2.4.11版本,据说新的3.x的版本和2.x的版本改动较大,2.x的版本学习完可以再看看与3.x版本的区别。毕竟老版本的学习资源更多一些。

SDK

我们下载完SDK以后,里面会有一个Library的库供我们使用,但是核心的功能不在这里面,它只是一个调用的工具,我们还需要安装OpenCV Manager,在下载的SDK里有一个apk的文件夹,里面是对应各个cup架构的Manager,选择对应的Manager安装就可以了。
除了安装OpenCV Manager,也可以直接在工程里添加so,但是这会使我们的APK体积大大增加,不过这不是我们要关心的,我们主要学习怎么使用OpenCV。

OpenCV的图像存储

OpenCV使用Mat对象存储图像,该对象保存了图像的行数、列数、数据等能唯一标识该图像的信息,并且可以利用该数据还原图像,不同的图像所包含的信息量也不同,例如彩色图像所包含的信息量就要比灰色图像多得多。因为灰色图是单通道的,彩色图是三通道的。

灰色图

灰色图像单通道

数字代表指定颜色的亮度
以整数表示时,取值范围是0~255,0表示纯黑色,255表示纯白色。
以浮点数表示时,取值范围是0~1,0表示纯黑色,1表示纯白色。

彩色图

彩色图像三通道

第一通道表示蓝色,第二通道表示绿色,第三通道表示红色。

OpenCV的线性滤波器

有的时候,图像信息量太大,处理的时间就会比较长(有的时候可能不需要这么信息就可以解析出来我们想要的结果了),为了解决这个问题,OpenCV提供了一个线性滤波器,可以对图片进行模糊处理。

很多线性滤波器都利用了称为的数字向量,核可以看作是沿着像素滑动的窗口,并把计算结果输出给核像素。

下面的图中,是一个3 * 3的核作用在了一副10 * 10的图像上。

核

创建OpenCV工程

Android Studio版本:2.1

  1. 创建Android Studio工程,命名为FirstOpenCVDemo
  2. 导入OpenCV Library

    File -> New -> Import Module

    导入OpenCV Library
    导入OpenCV Library

  3. 引用OpenCV Library

    引用OpenCV Library

  4. 安装OpenCV Manager

    加载OpenCV Manager,如果诶呦安装会有提示

private BaseLoaderCallback mOpenCVCallBack = new BaseLoaderCallback(this) {
   @Override
   public void onManagerConnected(int status) {
       switch (status) {
           case LoaderCallbackInterface.SUCCESS:
               Log.i(TAG, "OpenCV Manager已安装,可以学习OpenCV啦。");
               break;
           default:
               super.onManagerConnected(status);
               break;
       }
   }
};

@Override
protected void onResume() {
   super.onResume();
   OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_11, this, mOpenCVCallBack);
}

到此,准备工作做完,就可以在此工程上学习OpenCV了。

如果你在运行的过程中,遇到这样的问题

问题

这是SDK版本的问题,将targetSdkVersion改为19即可。

运行结果

OpenCV部署成功

源码

FirstOpenCVDemo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值