linux下安装opencv及相关问题解决方案

opencv下载

下载链接:https://opencv.org/releases/
linux环境下只能选择源文件下载,自己编译
linux下安装opencv及相关问题解决方案_第1张图片

opencv编译

解压压缩文件,进入文件夹
执行以下命令:

sudo apt-get install cmake  
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev  

mkdir my_build_dir
cd my_build_dir

#时间较久
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

sudo make
sudo make install

以上就是编译过程,应该问题不大

opencv环境配置

步骤1

sudo gedit /etc/ld.so.conf.d/opencv.conf 

文件末尾加入:

/usr/local/lib  

步骤2

sudo ldconfig 

这步容易报错

错误1

类似如下:

sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符号连接
sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符号连接

解决方法如下:

sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1

错误2

类似如下(可能只出现在wsl环境下):
在这里插入图片描述
原因:
1、/usr/lib/wsl/lib/目录下都是文件而不是链接
2、该目录只读
因此只能将在其他目录操作,具体步骤如下:

cd /usr/lib/wsl
sudo mkdir lib2
sudo ln -s lib/* lib2

sudo vim /etc/ld.so.conf.d/ld.wsl.conf
# 将/usr/lib/wsl/lib 改为 /usr/lib/wsl/lib2

步骤3

sudo gedit /etc/bash.bashrc

在这个文件的末尾,加入:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 
export PKG_CONFIG_PATH 

opencv环境检验

执行如下命令:

pkg-config opencv --modversion

这时候可能会报错,如下:
在这里插入图片描述
原因是缺少opencv.pc这个配置信息文件
解决方法如下:

cd /usr/local/lib

sudo mkdir pkgconfig
cd pkgconfig
sudo touch opencv.pc
sudo vim opencv.pc

然后在opencv.pc中添加以下信息,需要与自己安装opencv时的库路径对应:

prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: opencv
Description: The opencv library
Version:4.5.5
Cflags: -I${includedir}/opencv4
Libs: -L${libdir} -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann  -lopencv_core

version是你的opencv版本

再检验

在这里插入图片描述

你可能感兴趣的:(opencv,opencv,linux)