CentOS , Ubuntu 和 Mac OS 上编译安装 OpenCV4 及 SpringBoot 的结合使用
为什么没有 Windows 下的编译安装
因为官网已经提供的编译好的 exe 包,双击运行就会解压到特定的目录了,除此之外官网还提供了 ios 版和 安卓版
这里着重记录下 CentOS , Ubuntu 和 Mac OS 下的安装,因为官网没有提供编译好的包
条件
- GCC 4.4.x or later
- CMake 2.8.7 or higher
- Git
- GTK+2.x or higher, including headers (libgtk2.0-dev)
- pkg-config
- Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
- ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
- [optional] libtbb2 libtbb-dev
- [optional] libdc1394 2.x
- [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
- [optional] CUDA Toolkit 6.5 or higher
步骤
- 安装常用的开发编译工具包, Centos 的命令为: yum groupinstall “Development Tools”, Ubuntu 的命令为: apt-get install build-essential
- 安装 cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
- mkdir opencv4; cd opencv4
- git clone https://github.com/opencv/opencv.git
- git clone https://github.com/opencv/opencv_contrib.git
- cd opencv
- mkdir build
- cd build
- cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. (如果不工作的话,删除 -D的空格,cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..)
- make -j7 # runs 7 jobs in parallel 使用7个并行任务来编译
- 生成文档 cd ~/opencv/build/doc/; make -j7 doxygen
- make install
编译好的包
- centos7 版: http://cloud.joylau.cn:1194/s/kUoNelmj1SX810K 或者 https://pan.baidu.com/s/1qaZ-TbF0xP0DxaEJKbdt-A 提取码: jkir
- Ubuntu 16.04 版: http://cloud.joylau.cn:1194/s/TsNRKwxJhM0v0HE 或者 https://pan.baidu.com/s/1ha6nATLrSt5WPL1iQlmWSg 提取码: gduu
- java 调用所需 opencv-410.jar 包: //s3.joylau.cn:9000/blog/opencv-410.jar
Mac OS 上
- AppStore 上安装 XCode, 安装完成打开 XCode , 同意 license
- 安装 HomeBrew
- 安装必要依赖: Python 3, CMake and Qt 5
1 | brew install python3 |
- 安装环境
1 | mkdir ~/opencv4 |
- cmake 后输出如下:
1 | -- OpenCV modules: |
- 编译好的安装包: http://cloud.joylau.cn:1194/s/6GMLl09ZAYNAUMU 或者: https://pan.baidu.com/s/1YBxUD_vB1zKOcxHeAtn6Xw 提取码: twsq
遇到的问题
CentOS 上 CMake 版本太低的解决方法
yum 上安装的版本太低,先卸载掉版本低的,yum remove cmake
cd /opt
tar zxvf cmake-3.10.2-Linux-x86_64.tar.gzvim /etc/profile
export CMAKE_HOME=/opt/cmake-3.10.2-Linux-x86_64
export PATH=$PATH:$CMAKE_HOME/binsource /etc/profile
没有生成 opencv-410.jar
1 | Java: |
需要 ant 环境,安装后即可, java 即可进行调用
IDEA 及 Spring Boot 项目中的使用
- 下载 opencv-410.jar 包,引入到项目中
1 | dependencies { |
- 配置动态库路径, vm options: -Djava.library.path=/home/joylau/opencv4/opencv/build/lib

mac os 下路径为: -Djava.library.path=/Users/joylau/opencv4/installation/OpenCV-master/share/java/opencv4
- 加载动态库
1 |
|
- 脸部识别 demo
1 | private static void testFace() { |

注: 图片来自微博
- 边缘检测 demo
1 | private static void testContours() { |


- 实时人脸识别
1 | /** |