专栏首页贾志刚-OpenCV学堂OpenCV3.2集成Android Studio2.2开发配置

OpenCV3.2集成Android Studio2.2开发配置

主要知识点

  • OpenCV4Android3.2 SDK介绍与下载
  • AS2.2与OpenCV3.2集成
  • 程序演示与代码
  • AS集成OpenCV3.2配置常见错误

OpenCV4Android3.2 SDK介绍与下载

OpenCV是图像处理与机器学习的计算机视觉开源框架,其SDK支持Java、C++、Python、支持在Win系统、Android系统、苹果系统上开发编程。OpenCV3.2是OpenCV的最新Release,包含了大量的缺陷修正与新API使用,一个例子就是在二值化的时候OpenCV2.x对于自动阈值只有OTSU方法可选择,但是在OpenCV3.x中又多了一种自动阈值方法-三角阈值法。最新的OpenCV3.2 for Android SDK的下载地址如下: https://github.com/opencv/opencv/releases/tag/3.2.0

AS2.2与OpenCV3.2集成

  • 打开Android Studio新建一个Android项目 从【File】->【New...】->【New Project...】开始,根据向导配置即可。
  • 导入OpenCV Java SDK支持

【File】->【importmodule】->【选择路径】确定之后看到如下:

点击【Next】

点击【Finish】按钮即可结束导入模块OpenCV320库。

  • 添加OpenCV3.2依赖

右键选择Android项目->【Open ModuleSettings】

点击右上角【+】

选择第三个【Module dependency】,导入opencv3.2依赖, 此刻打开build.gradle(app)可以看到依赖已经导入。

  • 修改gradle script支持opencv相关so依赖导入

打开build.grale文件在修改添加如下的脚本:

程序演示与代码

环境配置好之后, 在MainActivity里面添加一个方法初始化方法,以便加OpenCV相关OS文件,代码实现如下:

private void iniLoadOpenCV() {    boolean success = OpenCVLoader.initDebug();    if(success) {        Log.i(CV_TAG, "OpenCV Libraries loaded...");    } else {        Toast.makeText(this.getApplicationContext(), "WARNING: Could not load OpenCV Libraries!", Toast.LENGTH_LONG).show();    }}

成功加载之后,就可以加载资源文件名为test的图片,加载成功显示如下:

然后就可以加载图像资源文件为Bitmap对象,转换为灰度,代码实现如下:

// 获取资源文件对应的图像文件Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.test);// 传给灰度转换方法private void convertGray(Bitmap bitmap) {    Mat src = new Mat();    Mat dst = new Mat();    Utils.bitmapToMat(bitmap, src);    Imgproc.cvtColor(src, dst, Imgproc.COLOR_BGR2GRAY);    Utils.matToBitmap(dst, bitmap);    src.release();    dst.release();}

效果显示如下:

AS集成OpenCV3.2配置常见错误

第一次运行的时候很多人就会得到这样错误,开玩笑,你没有遇到!可能是你很有预见性的重新build整个项目,恭喜你!

需要rebuild整个app项目,首先要【build】->【clean build】做完之后再选择【build】->【rebuild】,然后就可以真机运行,从此开始你的人工智能学习之旅啦!

本文分享自微信公众号 - OpenCV学堂(CVSCHOOL)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-04-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【快报】软银234亿英镑收购ARM | 机器学习软件预测科技企业融资并购

    新智元 AI DAILY 1 软银234亿英镑收购ARM ? 日本软银集团已同意以234亿英镑(约合人民币2076亿元)的价格,收购国际著名芯片巨头ARM。而...

    新智元
  • 【华尔街日报】数据竞争价值:从商业分析到机器学习

    【新智元导读】 本文以较长的时间维度,从商业分析到机器学习,分析数据在企业中的竞争价值所在和变化。作者提出,数据驱动的AI越来越多地应用于需要智力和认知能力的任...

    新智元
  • 【Nature】机器学习革新生物数据分析,自动物种分类成为可能

    【新智元导读】Nature今日刊文,介绍了信息可视化带给生物学的变革。其中,研究人员通过计算机视觉技术,用数码影像生成数字化三维模型,计算机能自动识别标本的各项...

    新智元
  • 《福布斯》调查:机器人最不可能取代的工作竟是……

    【新智元导读】《福布斯》联合市场调查公司麦肯锡和合伙人对美国超过2000种工作进行调查,研究这些工作在当下和未来实施自动化,也就是用机器来取代人的可能性。其中,...

    新智元
  • 数据挖掘快速入门

    问题导读 1.什么是数据挖掘? 2.机器学习 与 数据挖掘在什么地方? 3.数据挖掘能解决什么问题? 1 数据挖掘 数据挖掘(Data Mining,简...

    用户1410343
  • Spark机器学习API之特征处理

    问题导读: 1.怎样利用Spark机器学习API进行特征提取? 2.怎样利用Spark机器学习API进行特征选择? 3.Spark机器学习API中的特征选择有...

    用户1410343
  • 【快报】谷歌云发布全新自然语言和语音API | 英特尔Q2净利润同比降51%

    新智元 AI DAILY 1 谷歌云发布全新自然语言和语音API ? 谷歌云平台让用户可以通过机器学习处理非结构化的数据。 昨日,谷歌正式发布其Beta版的云...

    新智元
  • 使用感知机训练加法模型

    感知机此处不介绍,这里只是简单的做了一个使用感知机思路,训练一个y=a+b计算模型.  1 # -*-coding:utf-8-*- 2 '@author:...

    Gxjun
  • 读RCNN论文笔记

    1. RCNN的模型(如下图)描述:              RCNN相比传统的物体检测,还是引入传统的物体检测的基本流程,先找出候选目标物体,逐个的提取特征...

    Gxjun
  • 【快报】百度糯米App将添加菜品点评功能 | Twitter聘用前苹果设计师组建VR/AR团队

    1深度学习新应用: 百度糯米app将添加菜品点评功能 ? 据外媒报道,百度糯米app将于今年增添新功能,用户不仅能够评价餐馆,还能点评个别的菜品。为了保证用户能...

    新智元

扫码关注云+社区

领取腾讯云代金券