史上最全 java 集成 opencv 教程

10,286 阅读2分钟

opencv 简介

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法(百度百科)。

opencv 安装

Windows

1.到OpenCV官网下载你需要的版本。

2.执行 opencv-4.4.0-vc14_vc15.exe

3.配置环境变量

Centos

安装依赖包

yum install cmake gcc gcc-c++ ant

1.下载opencv-4.4.0.zip并解压缩

wget https://github.com/opencv/opencv/archive/4.4.0.zip

2.新建一个build文件夹

cd opencv
mkdir build
cd build

3.Cmake

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DBUILD_TESTS=OFF ..
make 

make 命令安装的时间有点长,可以撸一把王者,电脑好点的话,可以执行

make -j4

(在多核宿主机上,可以通过-j选项来提高make命令的执行速度,单核机器就不要尝试了)

sudo make install 

4.等 make install 执行完毕之后,需要对环境变量进行配置

cp -r /usr/local/share/java/opencv4/libopencv_java440.so /usr/lib

配置完成后重新打开终端,使得配置生效

5.opencv的测试

ldconfig -v | grep opencv

检查opnecv是否安装成功

java 集成 opencv

1.将 opencv-440.jar 复制到自己的java项目里面

2.将 opencv_java440.dll 复制到 JAVA_HOME\jre\bin 目录

java 代码测试

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
public class Hello
{
   public static void main( String[] args )
   {
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 );
      System.out.println( "mat = " + mat.dump() );
   }
}

输出

mat = [  1,   0,   0;
   0,   1,   0;
   0,   0,   1]

常见问题

  1. no opencv_java440 in java.library.path

这是因为没有加载到 opencv_java440.dll ,将 opencv_java440.dll 复制到 JAVA_HOME\jre\bin 目录就可以了。

  1. cmake 版本太低
wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz
# 解压文件
tar zxvf  cmake-3.9.2.tar.gz
cd cmake-3.9.2
./configure
make
sudo make install
  1. 下载 ippicv_2020_lnx_intel64_20191018_general.tgz 很慢
# 用迅雷先下载好,https://raw.githubusercontent.com/opencv/opencv_3rdparty/ippicv/master_20191018/ippicv/ippicv_2020_lnx_intel64_20191018_general.tgz

# 指定目录
vim 3rdparty/ippicv/ippicv.cmake

https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/ 替换成 ippicv_2020_lnx_intel64_20191018_general.tgz所在的目录

"file:~/ippicv/"  #(仅供参考,根据自己的路径填写)

参考

Linux环境下OpenCV的安装与配置

blog.csdn.net/wuzuyu365/a…

Introduction to Java Development

Configuring Eclipse

OpenCV Java Api linux环境下配置和使用

opencv 解决ippicv下载问题,离线:ippicv_2019_lnx_intel64_general_20180723.tgz