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]
常见问题
- no opencv_java440 in java.library.path
这是因为没有加载到 opencv_java440.dll
,将 opencv_java440.dll
复制到 JAVA_HOME\jre\bin
目录就可以了。
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
- 下载
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/" #(仅供参考,根据自己的路径填写)
参考
Introduction to Java Development
opencv 解决ippicv下载问题,离线:ippicv_2019_lnx_intel64_general_20180723.tgz