一.安装opencv
1.1安装依赖环境
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
1.2下载源码
https://opencv.org/releases/进入官网选择要下载的版本
1.3下载解压之后放到喜欢的目录下面
在opencv文件下创建一个build文件 mkdir -p build
然后进入build文件(cd ./build)或者直接进入build文件右键打开终端
然后进行重要的cmake(可能要等好久)
cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -OPENCV_GENERATE_PKGCONFIG=ON -D -D OPENCV_ENABLE_NONFREE=True ..
cmake结束之后开始编译,在终端输入sudo make -j8(数字越大速度越快)
![](https://img-blog.csdnimg.cn/img_convert/e05eb64de61f18a31864aa654a2b9b5b.png)
最后执行sudo make install即可
1.3环境配置
sudo gedit /etc/bash.bashrc
在文件里面添加下面两段
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出之后执行
sudo update
dbsource /etc/bash.bashrc
1.4修改动态库
sudo gedit /etc/ld.so.conf.d/opencv.conf打开文件
添加lib路径在末尾
/usr/local/lib
保存退出之后sudo ldconfig更新
1.5最后检查版本
pkg-config --modversion opencv4 查看版本号
pkg-config --libs opencv4 查看libs库
二.遇到问题
2.1查看版本的时候出现
![](https://img-blog.csdnimg.cn/img_convert/a7c5cd8f6dee749ae706aec156ae6d4a.png)
出现的原因是因为缺失了opencv.pc这个配置文件
解决方法:创建opencv.pc文件,注意添加的路径
![](https://img-blog.csdnimg.cn/img_convert/d20c240ea2556948a4b7b4a58e4586b1.png)
然后在创建的文件里面添加以下信息
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
注意要和自己安装opencv时的库路径和版本相对应(我安装的就是4.5.5)版本
保存退出之后,执行:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
然后再执行查看版本的命令应该就可以了
2.2到后面编译darknet的时候会出现以下错误
![](https://img-blog.csdnimg.cn/img_convert/b1594bbe5b9f4f4e72ac859d99776301.png)
这个问题困扰了我好久,看各种博客找解决办法,有让下载opencv库的等等,最后发现,直接把自己下载的opencv.pc或者opencv4.pc中对应的这三个删除就好了
记得用终端输入命令打开修改,直接找的话文件是只读,无法修改
删除之后,问题结局!
如有不对之处,欢迎各位斧正!