windows linux 环境下java项目整合opencv

windows linux 环境下java项目整合opencv

1. windows

windows搭建比较简单
1.下载windows包
在这里插入图片描述
2.安装后在安装目录找到

xx\opencv\build\java\opencv-330.jar

3.切换到控制台命令:

mvn install:install-file -DgroupId=org.opencv -DartifactId=opencv
-Dversion=3.3.0 -Dpackaging=jar -Dfile= xx\opencv\build\java\opencv-330.jar

导入至仓库

4.在项目中添加依赖


	org.opencv
	opencv
	3.3.0

5.在安装目录下找到dll库,和上面的jar包同级
在这里插入图片描述
windows linux 环境下java项目整合opencv_第1张图片
在项目的resources目录下创建一个lib文件夹,把dll库放进去

6.写个main方法

    public static void main(String[] args) throws Exception {
        URL url = ClassLoader.getSystemResource("lib/opencv_java330.dll");
        System.load(url.getPath());
        Mat image = imread("C://img/4.jpg", 1);
        Mat image1 = HandleImgUtils.correct(image);
        Imgcodecs.imwrite("C://img/656.jpg", image1);
        Mat mat = image.clone();
        Imgproc.Canny(image, mat, 60, 200);
        Imgcodecs.imwrite("C://img/656.jpg", mat);

    }

2. linux

1.下载zip包,官网下载十分慢,下载后的文件还不能用,建议用别人下载好的资源

    unzip opencv-3.3.0.zip
    cd opencv-3.3.0
	mkdir build
	cd build
	cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv ..

如果 make编译的时候zxvf ippicv_2017u2_mac_intel64_20170418.tgz这个包下载不了
在网上下载一个ippicv_2017u2_mac_intel64_20170418.tgz包,随便放哪里 命令:vim
3rdparty/ippicv/ippicv.cmake 将
https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/
替换为"file:///刚才下载的tgz地址/" 再执行 cmake -D CMAKE_BUILD_TYPE=RELEASE -D
CMAKE_INSTALL_PREFIX=/usr/local/opencv …

yum install ant
make -j8
sudo make install 
ldconfig -v | grep opencv 

最后是这个样子的
windows linux 环境下java项目整合opencv_第2张图片
这里会生成so库和jar包
windows linux 环境下java项目整合opencv_第3张图片

java代码 windows和linux下完美运行

  String libName = "";
        if (SystemUtils.IS_OS_WINDOWS) {
            System.out.println("windows");
            libName = "lib/opencv_java330.dll";
            URL url = ClassLoader.getSystemResource(libName);
            System.load(url.getPath());
        } else if (SystemUtils.IS_OS_LINUX) {
            System.out.println("linux");
            System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        }

opencv-3.3.0.zip:链接: https://pan.baidu.com/s/1hvxLMslH1gSDKRhbo1tL5g 提取码: 6y63

如果能帮到你请点个赞*

你可能感兴趣的:(java)