OpenCV Java的配置

Windows 配置

下载linux的安装包,在安装目录下 /build/java/opencv-320.jar 拷贝到工程作为lib,同时把 /build/java/x64[32位的就选x86]这个目录添加到系统环境变量PATH下面,在使用的时候需要静态载入这里的资源文件

一段简单的测试代码证明配置成功


public class OpenCVTest {

    static{
            System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

    }

    public static void main(String[] args) {
       Imgcodecs.imwrite("d:/asdasd.png",new Mat(100,100,0));

    }
}

正常来说是会在D盘生成一个全黑的图片,如果报错

UnsatisfiedLinkError: no opencv_java320 in java.library.path
说明你刚才的dll文件没配置好,要么你就仔细检查一下配置好,要么直接填dll路径

  static{
      System.load("d:/opencv/build/java/x64/opencv_java320.dll");

    }

Linux配置

linux配置比较复杂一点,因为他需要根据你当前的环境来编译了才能使用。而且编译Jar包和so库需要你有安装好java环境。
1环境
安装java 自己百度
安装依赖

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libttb2 libttb-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libdc1394-22-dev ant

2编译opencv源码
下载源码,解压。进入解压目录,新建文件夹build,来让你好识别编译后的文件

tar -zxvf opencv-3.2.0
cd opencv-3.2.0
mkdir build
cd build

3 生成makefile –百分99出错

cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local ../

它会在下载ipvicc_linux_20151201的时候卡住
卡住的时候直接Ctrl+C 取消
这个时候他已经在 /opencv-3.2.0/3rdparty/ippicv/downloads/目录下面生成了一个诸如

linux-808b791a6eac9ed78d32a7666804320e

的文件夹,我们手动把下载好的ippicv_linux_20151201.tgz拷贝进去
ippicv_linux_20151201.tgz

然后再在build目录下执行刚才的cmake任务

4 编译java需要的jar包等

第3步执行完了 终端会打印信息 自己找到java那一块 缺啥你就装一下(不推荐用apt来直接安装ant)

--   Java:
--     ant:                         NO
--     JNI:                         /usr/lib/jvm/java-1.8.0-openjdk-amd64/include /usr/lib/jvm/java-1.8.0-openjdk-amd64/include /usr/lib/jvm/java-1.8.0-openjdk-amd64/include
--     Java wrappers:               NO
--     Java tests:                  YES

然后确保JAVA_HOME变量有配置

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64

再编译

make -j8

5 安装

sudo make install

安装好了之后

你会在 build/bin 目录找到 jar包
在lib目录下找到libopencv_java320.so (linux下so库就对应windows的dll)
有了这俩 剩下的就跟Windows一样了

你可能感兴趣的:(Java)