1 部署Ant
ant用于生成*.jar.
传送门:http://ant.apache.org/bindownload.cgi
路径配置
sudo vim ~/.bashrc
export ANT_HOME=/usr/ant/apache-ant-1.10.6
export PATH=$JAVA_HOME/bin:$PATH:$ANT_HOME/bin
- 生效.bashrc
source ~/.bashrc
- 查看ant版本
ant -version
Apache Ant(TM) version 1.10.6 compiled on May 2 2019
2 部署OpenCV
2.1 下载opencv
下载需要的版本源码:source,
*.zip
*.tar.gz
传送门:https://opencv.org/releases/
2.2 安装依赖
apt-get installbuild-essential
apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
apt-get install libxvidcore-dev libx264-dev
apt-get install libatlas-base-dev gfortran
apt-get install ffmpeg
2.3 编译
在bash下使用命令编译
,否则cmake不能识别java和ant。
- 解压
unzip opencv-3.3.0.zip -d .
- 进入
cd opencv-3.3.0
- 新建build
mkdir build
- 进入build
cd build
- 生成so和jar
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv ..
make
make install
在build/lib/中生成libopencv_java330.so
,在build/bin/中生成opencv-330.jar
,如有需要,私聊发邮箱.
- 链接
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv -D BUILD_TESTS=OFF ..
make -j8
make install
-- Set runtime path of "/usr/local/opencv/bin/opencv_interactive-calibration" to "/usr/local/opencv/lib"
-- Installing: /usr/local/opencv/bin/opencv_version
-- Set runtime path of "/usr/local/opencv/bin/opencv_version" to "/usr/local/opencv/lib"
3 IDEA部署
- Demo
package com.opencv;
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.Scalar;
public class opencvTest {
static {System.loadLibrary(Core.NATIVE_LIBRARY_NAME);}
public static void main(String[] args) {
System.out.println("success");
System.out.println("Welcome to OpenCV"+ Core.VERSION);
Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
System.out.println("OpenCv Mat: "+m);
Mat mr1 = m.row(1);
mr1.setTo(new Scalar(250));
Mat mc5 = m.col(5);
mc5.setTo(new Scalar(250));
System.out.println("Opencv Mat data: \n"+m.dump());
}
}
3.1 添加本地jar
3.2 添加本地lib
3.3 部署jar
3.4 配置运行环境
3.5 运行结果
4 Q&A
Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java320 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at opencvTest.<clinit>(opencvTest.java:7)
- Plan
windows环境配置dll,ubuntu环境部署so文件.
5 小结
(1) 核心:Ubuntu部署Opencv核心是编译安装OpenCV;
(2) 关键1:生成jar需要安装ant;
(3) 关键2:IDEA添加本地jar和lib,及部署;
(4) 两个文件:libopencv_java330.so,opencv-330.jar;
【参考文献】
[1]https://blog.csdn.net/cscmaker/article/details/7884435
[2]https://blog.csdn.net/w13770269691/article/details/83445731
[3]https://blog.csdn.net/u014617380/article/details/78445997
[4]https://blog.csdn.net/wangwenjie1997/article/details/88775600