一、OpenCV预备:

  OpenCV是一个跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法,可以说是既轻量又高效。

  OpenCV现主要用于人机互动、人脸识别、动作识别、物体识别、图像分割、运动跟踪、机器人、运动分析和机器视觉等场景。

  OpenCV下载网址: https://www.opencv.org/releases.html

  

  1、windows系统下载Win pack,下载完成后不需安装,选择路径解压即可:

  

  

  2、进入到opencv目录下的opencv\build\java文件夹下:

  

  路径下存放着x64(64位)、x86(32位)和opencv-410.jar(4.1.0版本)。

  

二、在Eclipse中配置opencv:

  1、进入Eclipse中的Window-》Preferences:

  

  Java-》Build Path-》User Libraies,点击New...新建一个用户库:

  

  输入名称:

  

  新建如下:

  

  选中该用户库,并点击Add External JARs...

  找到刚才解压opencv的路径,选中opencv\build\java目录下的jar包:

  

  

  选中Native library location,点击Edit进行修改:

  

  根据自己系统的位数进行选择x86或者是x64:

  

三、检测是否配置完成:

  1、新建一个java项目并导入opencv库:

  新建java项目:

  

  添加库:

  

  选择用户库:

  

  

  2、编写程序:

 package com.gb.test;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.Core;
public class test
{
public static void main( String[] args )
{
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );//调用x64文件夹下的dll文件
Mat m = Mat.eye( 9, 4, CvType.CV_8UC1 );//生成Mat矩阵(图像容器)
System.out.println( "4*9矩阵= \n" + m.dump() );//输出矩阵
}
}

  运行结果如下:

  

  至此,证明环境搭建完成。

  加上eclipse已搭建好了开发Android程序的环境,则可以将opencv用于开发Android程序,例如识别车牌号、银行卡号等功能······

 四、准备OpenCV4 Android SDK:

  下载地址:

  https://sourceforge.net/projects/opencvlibrary/files/opencv-android/

  上述地址中是各个版本的opencv sdk,按照版本需要进行下载。

  opencv-3.4.3-android-sdk直接下载地址:

  https://sourceforge.net/projects/opencvlibrary/files/opencv-android/3.4.3/opencv-3.4.3-android-sdk.zip/download

  解压可得:

  

  

五、把OpenCV库和它的实例导入到Eclipse中:

  右键import···

  

  

  选中解压出的文件夹路径,自动选中文件夹下的项目:

  

  导入完成,自动构建后可运行样例程序。

六、其他:

  opencv-3.4.3-android-sdk的解压路径最好不要使用中文和存在空格,易发生ndk-build问题。

  相关随笔:

  Android开发:在Eclipse中配置Android环境

  Android开发:修改eclipse里的Android虚拟机路径

Android开发:Eclipse+OpenCV环境搭建的更多相关文章

  1. 【opencv】Java+eclipse+opencv 环境搭建 helloword入门demo

    文章为博主原创,纯属个人理解,如有错误欢迎指出. 如需转载,请注明出处. 引入jar包 引入配置文件 到此环境配置完成!!! 可能会出现的问题: 1. jdk版本不一致导致发生异常.如图 build ...

  2. Android开发学习总结(一)——搭建最新版本的Android开发环境

    Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...

  3. JavaEE开发基于Eclipse的环境搭建以及Maven Web App的创建

    本篇博客就完整的来聊一下如何在Eclipse中创建的Maven Project.本篇博客是JavaEE开发的开篇,也是基础.本篇博客的内容干货还是比较多的,而且比较实用,并且都是采用目前最新版本的工具 ...

  4. JavaEE开发之基于Eclipse的环境搭建以及Maven Web App的创建

    本篇博客就完整的来聊一下如何在Eclipse中创建的Maven Project.本篇博客是JavaEE开发的开篇,也是基础.本篇博客的内容干货还是比较多的,而且比较实用,并且都是采用目前最新版本的工具 ...

  5. 一、Android学习第一天——环境搭建(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 一. Android学习第一天——环境搭建 Android 开发环境的搭建 ...

  6. Android NDK r8 windows环境搭建

    Android NDK r8 windows环境搭建 一.默认基础环境为已经完成Android开发环境的搭建 需要的软件及插件 1. JDK-7u25 2. Eclipse 3. Android SD ...

  7. java+eclipse+selenium环境搭建

    这几天在学selenium,大头虾的我.安装环境还是遇到了挺多问题,赶紧来记录下.不然下次又...(参考虫师的<Selenium2 Java自动化测试实战>),就随便写写加深下自己的印象. ...

  8. UI5-学习篇-1-Eclipse开发工具及环境搭建

    最近研究SAP-UI5好几个月了,将相关学习经历及问题点做个记录. 1.先了解学习资料相关站点 SAP官网:https://www.sap.com/china/index.html SAP开发工具:h ...

  9. Tiny4412 开发板 编译环境搭建【转】

    本文转载自:http://blog.csdn.net/beijiwei/article/details/51055369 版权声明:本文为博主原创文章,未经博主允许不得转载. /*********** ...

随机推荐

  1. Effective java-对象的创建和销毁

    说到java对象的创建,首先应该提下java的内存机制,最主要的两块应该就是堆内存和栈内存. 简单点来说栈内存主要是保存基本数据类型的值和保存引用变量,堆内存主要用来存放new产生的对象,数组. 堆是 ...

  2. Python跨目录调程序

    #!/usr/bin/python # -*- coding: utf-8 -*- # 导入其它目录下的文件, 需要去帮获取当前程序的绝对路径并加入到环境变量的相对路径中 import os impo ...

  3. 关于linux下部署JavaWeb项目,nginx负责静态资源访问,tomcat负责处理动态请求的nginx配置

    1.项目的运行环境 linux版本 [root@localhost ~]# cat /proc/version Linux version -.el6.x86_64 (mockbuild@x86-.b ...

  4. laravel 查询数据返回的结果

    laravel查询数据返回的结果 在插入数据库的时候,发现查询数据返回的结果是一个对象;即使是空数据 返回的不是true或者false 那么要判断该结果是否查询有结果 该如果呢? 学习源头: http ...

  5. Android Gradle基于参数化配置实现差异化构建

    一.背景: 项目中有一些特殊的需求,如个别渠道集成腾讯bugly,个别渠道集成易观统计,不同的渠道集成不同的推送策略(如Oppo渠道优先Opush推送),不同的渠道拥有不同的第三方登录集成等等.这些需 ...

  6. 神奇的Scala Macro之旅(一)- 什么时候用宏

    在Lisp语言中,macro是一个神器,可以“动态的生成代码”,然后被执行,这种方式给到Lisp无限的表达能力.除Lisp之外,很少有语言支持Macro这个特性,我记得 GWT之中曾经有一个类似的Ge ...

  7. with管理文件操作上下文

    目录 with管理文件操作上下文(掌握) with管理文件操作上下文(掌握) 之前我们使用open()方法操作文件,但是open打开文件后我们还需要手动释放文件对操作系统的占用.但是其实我们可以更方便 ...

  8. python接口自动化(二十一)--unittest简介(详解)

    简介 前边的随笔主要介绍的requests模块的有关知识个内容,接下来看一下python的单元测试框架unittest.熟悉 或者了解java 的小伙伴应该都清楚常见的单元测试框架 Junit 和 T ...

  9. Vue.js 牛刀小试(持续更新~~~)

    一.前言 这个系列的文章开始于今年9月从上一家公司辞职后,在找工作的过程中,觉得自己应该学习一些新的东西,从前几章的更新日期也可以看出,中间隔了很长的时间,自己也经历了一些事情,既然现在已经稳定了,就 ...

  10. Vue.js-10:第十章 - 组件间的数据通信

    一.前言 在上一章的学习中,我们继续学习了 Vue 中组件的相关知识,了解了在 Vue 中如何使用组件的 data.prop 选项.在之前的学习中有提到过,组件是 Vue 中的一个非常重要的概念,我们 ...