OpenCV4.12在Centos7和Ubuntu18下的安装
发布时间
阅读量:
阅读量
OpenCV源码下载
Github地址,如果下载比较慢的话自己想想办法,额外安利一个加速吧:github加速
之后的OpenCV将会在/home/api-service/opencv下进行编译
下载的openCV包在/home/api-service/package/opencv-4.1.2.tar.gz
安装的基础环境很重要,否则会导致opencv在编译后某些功能不能正常使用
CentOS7下OpenCV4.12安装
更新CentOS国内源
yum install -y wget
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
AI写代码
OpenCV基础环境
yum install -y gcc gcc-c++
yum install -y cmake3
yum install -y gtk2-devel
yum install -y ant
yum install -y epel-release
sudo rpm -import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
yum install -y ffmpeg ffmpeg-devel
AI写代码
解压OpenCV
mkdir -p /home/api-service/opencv
tar -zxvf /home/api-service/package/opencv-4.1.2.tar.gz -C /home/api-service/opencv
AI写代码
编译OpenCV
cd /home/api-service/opencv
# 生成临时的build目录
mkdir build
cd build
# cmake3预编译
cmake3 -D BUILD_SHARED_LIBS=ON -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv/ ..
# 编译-会等比较久
make -j12
# 安装到系统
make install
# 复制相关库到系统环境
cd /usr/local/opencv
cp -r include /usr/local/
cp -r share /usr/local/
cd /usr/local/opencv/lib64
cp libopencv* /usr/local/lib64
vim /etc/ld.so.conf # (增加: /usr/local/lib64 /usr/local/lib )
source /etc/profile
AI写代码
Ubuntu18下OpenCV4.12安装
OpenCV基础环境
apt install -y build-essential && \
apt install -y cmake git pkg-config libgtk2.0-dev && \
apt install -y python-dev python-numpy libtbb2 libtbb-dev && \
apt install -y libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev && \
apt install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev && \
apt install -y libxvidcore-dev libx264-dev && \
apt install -y libatlas-base-dev gfortran && \
apt install -y ant && \
apt install -y ffmpeg
AI写代码
解压OpenCV
mkdir -p /home/api-service/opencv
tar -zxvf /home/api-service/package/opencv-4.1.2.tar.gz -C /home/api-service/opencv
AI写代码
编译OpenCV
cd /home/api-service/opencv
# 生成临时的build目录
mkdir build
cd build
# 这里BUILD_SHARED_LIBS=OFF才会编译出JAVA动态库,我也搞不懂为啥
cmake -D BUILD_SHARED_LIBS=OFF -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv/ ..
# 编译会比较久,耐心等待
make -j12
make install
/bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
ldconfig
AI写代码
上面的流程一个基础的OpenCV还是比较容易安装出来的,主要的还是某些功能是否完整,一方面要确认系统的安装环境是否支持,我们需要看cmake构建的那个清单,看看是否支持到,否则就排查一下问题。
带JAVA库的编译
由于我这边是Java开发,因此需要编译出
libopencv_java412.so库在CentOS7上正常,但是在Ubuntu上发现有问题,Java库始终编译不出来。可能的原因是一般Ubuntu的软件库版本会高些,因为装了ant后,似乎Java11也被装进去了。所以直接把java11的二进制文件删了,然后重新安装Jdk1.8,最后在配置JAVA_HOME以及PATH的java路径。JAVA_HOME必须配置为了opencv编译能够读取到它。然后cmake看看JAVA项的编译清单是否YES最后make以及install后。查看/share/java/opencv4/java/libopencv_java412.so是否存在
坑多,祝各位好运~
全部评论 (0)
还没有任何评论哟~
