Android开发实战学习第一章(程序安装OpenCV环境)


计算机视觉这两年貌似很受欢迎,总会看见很多博客都有在写计算机视觉啥的,特别是学习编程这一块看见就特别多,所以就找到了贾志刚老师这本《OpenCV Android开发实战》学习。然后去了解了一下还挺好玩。对图像的处理,哈哈,然后昨天还恶搞了舍友的图片。

一、OpenCV简介

OpenCV的全称是Open Source Computer Vision Library(源代码开放的计算机视觉库),它是基于C/C++编写的,是BSD开源许可的计算机视觉开发框架。(都说了是源代码开放,那它使用肯定是免费的,不管是自己玩还是商业开发,所以就可以放心用啦)
(至于OpenCV的历史还有它的发展史就自己去查一下)
OpenCV的AndroidSDK是在2010年才有的,现在也才几年时间,所以在网上能找到的学习资料少之又少,大多数都是C语言的,再来就是Python的,连Java的都很少。

1、OpenCV能用来干什么?

例如:卫星地图与电子地图拼接,医学中的图像噪声处理、对象检测、安防监控领域的安全、自动监视报警、制造业和工业的产品质量检测。摄像机标定、军事领域的无人机飞行、无人驾驶还有水下机器人等等。

2、OpenCV的模块:

(1)二维与三维特征工具箱;
(2)运动估算;
(3)人脸识别;
(4)姿势识别;
(5)人机交互;
(6)运动理解;
(7)对象检测;
(8)移动机器人;
(9)分割与识别;
(10)视频分析;
(11)运动跟踪;
(12)图像处理;
(13)机器学习;
(14)深度神经网络;

二、OpenCVSDK下载以及搭建环境

1、下载

OpenCV的官网:https://opencv.org/ ,下载SDK的话就点击RELEASES( https://opencv.org/releases.html ),现在的最高版本是4.0.1 ,分别有IOS,Android,Win(Java)的。

2、搭建OpenCV环境

刚开始搭环境先起一个新项目练手
(关于搭建OpenCV的环境这一块,个人感觉有一些版本不一样,所以搭建起来的方法好像也有点不一样)
这个导入OpenCV的库的版本是4.0.1

①新建项目,选择一个Empty Activity,

有些博文里面说要在C++前面勾选(说是这样支持调OpenCV的代码,OpenCV的底层是用C/C++实现的),可是我的AS版本是3.3.1的我建新项目的界面压根没有看见,所以就不管它了。

②导入OpenCV库

过程一:File —> New —> Import Module —> 找到下载好并且已解压的OpenCV的SDK的路径的java文件夹导入 —> Finish

过程二:File —> Project Structure —> Dependencies —> + —> Module dependency —> 选择刚刚导进来的OpenCV的库 —> OK —> OK
(注意:打开Project Structure也可以先点击项目目录,然后在按F4)

过程三:将AS的项目栏切换成Project的目录 —> 目录名称 —> app —> src —> main —> 新建jniLibs文件夹 —> 去OpenCV的SDK文件夹目录下 —> native —> libs —> 全选复制 —> 粘贴到jniLibs文件夹

过程四:修改build.gradle文件(app),app的targetSdkVersion要与OpenCVLibrary的一致,以及复制粘贴下面代码进去

ndk {
            moduleName "serial_port"
            ldLibs "log", "z", "m"
            abiFilters "armeabi-v7a"// "x86", "x86_64', "arm64-v8a"
        }

点击Sync Now
在这里插入图片描述
然后点击Rebuild Project,这个时候回发现居然有bug

关于这个bug有几种方法解决,然后我选择了最简单的方法:就是修改OpenCVLibrary的build.gradle文件里面的res.srcDirs = [‘res’],然后再Sync Now和再Rebuild Project。
完成了OpenCV4.0.1版本库的导入。
接下来就测试了
在主界面代码中添加

    private void initOpenCV(){
        boolean success = OpenCVLoader.initDebug();
        if (success){
            Toast.makeText(getApplication(), "OpenCV库加载成功!", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(getApplication(), "OpenCV库加载失败!!!", Toast.LENGTH_SHORT).show();
        }
    }


接下来就编译项目,运行如下图所示:

导入成功就可以使用OpenCV对图像进行处理啦!!!!
对于其他的一些版本可能有一些不一样的地方,例如学习资料OpenCV Android开发实战中导入的OpenCV库的版本是3.3.0的就有一点差异。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值