Ubuntu环境下为java部署OpenCV

目标

在Ubuntu16.04系统中,为Java1.8,部署OpenCV3.4,并成功生成Opencv3xx.jar文件。

踩坑总结

  1. 部署前最好先安装 Apache Ant 工具
  2. 编译时使用 make -j4 指令,进行多线程优化,加快编译速度
  3. 每一个 ~/.bashrc 都是为每一个用户单独配置的,如经常切换root用户建议直接修改 /etc/bash.bashrc,总之必须使用同一个bash.rc,不能把环境变量分别写在两个文件内,导致检测不到java环境

准备

安装java1.8环境:

  1. 使用PC端下载 64位java1.8 jdk: jdk-8u211-linux-x64.tar.gz ,并上传至服务器
  2. 解压安装:
$ tar -zxvf jdk-8u211-linux-x64.tar.gz
# 移动至 /usr 目录下
$ sudo mv ./jdk1.8.0_211 /usr
# 更改目录名为 java
$ sudo mv ./jdk1.8.0_211 ./java
# 修改系统环境变量
$ sudo vim /etc/bash.bashrc
# 直接在末尾添加环境变量(fi 后一行)

--------------------------------------
#set Java environment
export JAVA_HOME=/usr/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

# 保存并退出,使用source命令使之生效
$ source /etc/bash.bashrc
# 查看安装状况
$ java -version
# 若返回以下内容,则安装成功
--------------------------------------
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
# 再输入以下这个,让编译器检测到JAVA环境安装正确
$ export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64

下载OpenCV

  1. 使用PC端下载 OpenCV-3.4.6: opencv-3.4.6.zip ,并上传至服务器
  2. 解压下载下来的安装包并移动至 /usr/java 目录
# 安装 unzip
$ sudo apt-get install unzip
# 解压至当前目录
$ unzip opencv-3.4.6.zip
# 移动至java目录
$ sudo mv ./opencv-3.4.6 /usr/java

安装 Apache Ant

Wikipedia: Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发
$ sudo apt-get insatll ant

安装

1. 准备编译

# 打开至OpenCV目录
$ cd /usr/java/opencv-3.4.6
# 切换至 root 用户
$ sudo su
# update一下
$ apt-get update
# 安装 cmake
$ apt-get install cmake
# 安装依赖库(最好提前替换好阿里云服务镜像)
$ apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
# 建立存放编译后文件的文件夹
$ mkdir build
$ cd build

2. 开始编译

# 确定已切换至root用户
$ cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local ../
# 其他教程采用的是下面这条
# cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
# 期间可能会下载一个东西,等待一会儿就OK 

--------------------------------------
-- IPPICV: Download: ippicv_2019_lnx_intel64_general_20180723.tgz

# 查看cpu线程数
$ grep 'processor' /proc/cpuinfo | sort -u | wc -l
# 执行编译指令,请耐心等待
$ make -j4 (根据电脑cpu线程数确定 -j 后面的数字)

如果  -- IPPICV: Download: ippicv_2019_lnx_intel64_general_20180723.tgz 超过10分钟仍未响应,点这里查看解决办法

如果出现JAVA显示NO,表示未检测到JAVA环境,未对JAVA进行编译
opcvfail.png
输入 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 即可

3. 开始安装

# 确定已切换至root用户并位于 ./build 目录
$ sudo make install
# 添加 OpenCV 的库到路径,从而可以让系统找到
$ vim /etc/ld.so.conf.d/opencv.conf 
# 执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加以下内容即可

--------------------------------------
/usr/local/lib

# 退出保存
# 执行如下命令使得刚才的配置路径生效
$ ldconfig

# 配置bash环境变量
$ vim /etc/bash.bashrc
# 在最末尾添加

--------------------------------------
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

# 退出并保存
# 执行如下命令使得配置生效
$ source /etc/bash.bashrc
# 更新
$ updatedb

# 至此所有的配置都已经完成

4. 查看是否编译成功

$ cd /usr/java/open-cv3.4/build/bin
$ ls
# 若出现 opencv-346.jar, 则编译成功
最后修改:2019 年 12 月 07 日 03 : 31 AM
如果觉得我的文章对你有用,请随意赞赏

发表评论