Ubuntu16桌面版编译OpenCV4的java库和so库

2022-01-18  本文已影响0人  程序员欣宸

欢迎访问我的GitHub

https://github.com/zq2599/blog_demos

内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

本篇概览

  1. 安装必要应用
  2. 配置java环境
  3. 配置ANT环境
  4. 下载源码
  5. 编译前的配置
  6. 编译
  7. 安装
  8. 验证

环境和版本

  1. 操作系统:16.04.7 LTS(桌面版)
  2. java:1.8.0_311
  3. ANT:1.9.16
  4. OpenCV:4.1.1

安装应用

sudo apt-get install -y unzip build-essential curl cmake cmake-gui git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

配置java环境

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_311
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

配置ANT

export ANT_HOME=/usr/local/apache-ant-1.9.16
export PATH=$ANT_HOME/bin:$PATH
will@hp:~$ java -version
java version "1.8.0_311"
Java(TM) SE Runtime Environment (build 1.8.0_311-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)
will@hp:~$ ant -version
Apache Ant(TM) version 1.9.16 compiled on July 10 2021

下载源码

curl -fL -o opencv-4.1.1.zip https://codeload.github.com/opencv/opencv/zip/4.1.1; \
unzip opencv-4.1.1.zip; \
rm -rf opencv-4.1.1.zip; \
mkdir opencv-4.1.1/build; \
mkdir opencv-4.1.1/build/install

编译前的配置

cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_SHARED_LIBS=OFF -D CMAKE_INSTALL_PREFIX=./install ..
在这里插入图片描述
--   Python (for build):            /usr/bin/python2.7
-- 
--   Java:                          
--     ant:                         /usr/local/apache-ant-1.9.16/bin/ant (ver 1.9.16)
--     JNI:                         /usr/lib/jvm/jdk1.8.0_311/include /usr/lib/jvm/jdk1.8.0_311/include/linux /usr/lib/jvm/jdk1.8.0_311/include
--     Java wrappers:               YES
--     Java tests:                  YES
-- 
--   Install to:                    /home/will/temp/202110/30/003/opencv-4.1.1/build/install
-- -----------------------------------------------------------------
-- 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/will/temp/202110/30/003/opencv-4.1.1/build

编译

make -j6
在这里插入图片描述

安装

bin  include  lib  share
opencv4/
├── libopencv_java411.so
└── opencv-411.jar

验证

在这里插入图片描述 在这里插入图片描述
package com.company;

import org.opencv.core.Core;
import org.opencv.core.Mat;
import static org.opencv.highgui.HighGui.*;
import static org.opencv.imgcodecs.Imgcodecs.imread;

public class Main {

    public static void main(String[] args) {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

        Mat mat = imread("/home/will/temp/202110/30/pics/111.png");

        if(mat.empty()) {
            System.out.println("Image not exists!");
            return;
        }

        namedWindow("src", WINDOW_AUTOSIZE);
        imshow("src", mat);

        waitKey(0);
        
        // 这一句很重要,否则按下任意键后看不到窗口关闭的效果
        System.exit(0);
    }
}
在这里插入图片描述 在这里插入图片描述 在这里插入图片描述
上一篇 下一篇

猜你喜欢

热点阅读