我是一名java服务器开发者,今天我讲的是opencv 在服务器端的利用, 网上很多都是android NDK的 以及C++的 ,这些大体上是差不多,但是对初学者来说 就觉得 很难对照的学习 在java上怎么使用了, 这里是第一篇 开篇 ,搭建使用环境 。

          首先进入opencv 官网 http://opencv.org/ 下载opencv for windows  exe文件.(linux 同样的 ,其实linux使用还更加简单) 在开发时候 我们因为一般是windows 环境,到正式发布,就换成linux吧 ,只需要把so 用system.load静态加载就可以了

       安装解压之后  可以看到 build 下面是 预先编译好的文件,进入java可以看到一个java 目录 另外sources 下面就是一些源代码以及示例 ,

    

     

   然后 我们建立一个java项目 ,或者使用maven install 安装opencv文件到本地maven库

    

右键项目属性 ,按照下图 点击添加库 ,选择 user 自定义库  

如图所示

然后进入用户UserLibray 界面后点击 UserLibrarys。 新增一个自定义库 

java opencv 调用 opencvjava教程_c/c++

上面的左边的几个库 都是我自己以前定义好的,多个版本,你点击右边的New 新增一个 ,填写名字 比如我们最新版本是opencv3.1 opencv3.1

   


然后 点击右边的添加Add External JARS 添加上面的opencv的jar文件 。

java opencv 调用 opencvjava教程_java opencv 调用_02

添加之后 ,如下图所示 

下面 就是最关键的一步 ,也是最重要的一步,本地jni 库 与opencv jar 连接起来,点击Native Libray Location (是点击Native Library Location) ,然后点击 右边的Edit 进行,然后选择 上面的Build ---> java ----X64(我电脑是64位) 这个目录 添加即可 

  点击确定之后 如下图一样 基本添加成功了 ,下面进行测试

 

        现在 我们的opencv 自定义库 已经建立了 ,现在我们 右键工程属性,用户库 添加 刚才的opencv 的库

     下面 我们进行 一下测试 ,对于opencv3 来说 相比opencv2有一些变化,最明显的是opencv Highgui 在opencv3 是ImageCodes 下面我们就用它来读取 一张图片,然后转成灰度

     第一件事情 ,先加载opencv 本地库 ,然后就可以开始 进行调用 opencv方法进行 使用了

    

      

static{
  System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
static{
  System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}

   

public class Grayscale{
static{
  System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
    public static void main(String[] args){
      
        Mat im = Imgcodecs.imread("c:/baidu/1.jpg");
        Imgproc.cvtColor(im, im, Imgproc.COLOR_RGB2GRAY);       
        Imgcodecs.imwrite("test.jpg",im);
    }
}
public class Grayscale{
static{
  System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
    public static void main(String[] args){
      
        Mat im = Imgcodecs.imread("c:/baidu/1.jpg");
        Imgproc.cvtColor(im, im, Imgproc.COLOR_RGB2GRAY);       
        Imgcodecs.imwrite("test.jpg",im);
    }
}

  然后我们运行之后 

  c:/baidu/1.jpg

  原图

 

   

运行之后 灰度

  


我的项目 http://video.cymsy.com/flag.mp4 www.cymsy.com 就是使用opencv 以及 人工智能算法 以及 大数据spark 实现的 图像识别 以及 opencv 的AR




   今天 OPENCV的搭建环境 就讲到 这里了 ,后面 开始讲解 OPENCV的 基础知识 以及实例教程  待续.....