OpenCV-Java的配置
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拷贝进去
然后再在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一样了