文章目录
一、开发环境搭建
安装见【CentOS 7 minimal安装与使用】
升级gcc
sudo su
yum -y install centos-release-scl
yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile
source
安装cmake(使用【二进制】安装,yum安装的版本太低了)
sudo su
chmod 755 cmake-3.23.4-linux-x86_64.sh
./cmake-3.23.4-linux-x86_64.sh
cat >> /etc/profile <<"EOF"
export PATH=/home/user/cmake/bin:$PATH
EOF
source
安装opencv(使用源码安装)
unzip opencv-4.5.5.zip
unzip opencv_contrib-4.5.5.zip
cd opencv-4.5.5/
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D WITH_TBB=OFF \
-D WITH_CUDA=OFF \
-D WITH_V4L=ON \
-D WITH_QT=OFF \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.5/modules \
-D BUILD_JAVA=OFF \
-D BUILD_OBJC=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_opencv_java_bindings_generator=OFF \
-D BUILD_opencv_js_bindings_generator=OFF \
-D BUILD_opencv_objc_bindings_generator=OFF \
-D BUILD_opencv_python3=OFF \
-D BUILD_opencv_python_bindings_generator=OFF \
-D BUILD_opencv_python_test=OFF \
-D BUILD_EXAMPLES=OFF ..
make -j4
sudo make install
sudo sh -c 'echo "/usr/local/lib64" >> /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
cat >> ~/.bashrc <<"EOF"
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib64/pkgconfig
export PKG_CONFIG_PATH
EOF
source
安装python3(使用yum安装)
sudo yum -y update
sudo yum -y install epel-release
sudo yum -y install python36
sudo yum -y install python3-devel
python3.6 -V
pip3.6 -V
sudo python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python==4.4.0
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Cython flask Flask-RESTful gevent greenlet pandas Pillow
# 获取模块位置
import requests
print(requests.__path__)
二、使用与问题解决
Centos 解决 ImportError: xxx: cannot open shared object file
| yum whatprovides XXX.so.1
[wangsp@localhost ocr_module_py]$ python3 test.py
Traceback (most recent call last):
File "test_gcn_dll.py", line 3, in <module>
import cv2
File "/home/wangsp/.local/lib/python3.6/site-packages/cv2/__init__.py", line 5, in <module>
from .cv2 import *
ImportError: libGL.so.1: cannot open shared object file: No such file
[wangsp@localhost ocr_module_py]$ yum whatprovides libGL.so.1
Loaded plugins: fastestmirror
Determining fastest mirrors
* centos-sclo-rh: centos.ccns.ncku.edu.tw
* centos-sclo-sclo: mirrors.aliyun.com
* epel: ftp.yz.yamagata-u.ac.jp
1:libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.i686 : GLX support for libglvnd
Repo : base
Matched from:
Provides : libGL.so.1
[wangsp@localhost ocr_module_py]$ sudo yum install