ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3

参考网址:

https://linuxize.com/post/how-to-install-opencv-on-ubuntu-18-04/

https://www.learnopencv.com/install-opencv-3-4-4-on-ubuntu-18-04/

下载源码

【在安装完Anaconda后,在编译安装OpenCV时,遇到了libtiff.so libglib.so等库的问题,目前没有找到好的方法,那就先编译安装完OpenCV后,再安装Anaconda】

准备工作:安装需要的包

sudo apt-get install build-essential cmake pkg-config libgtk-3-dev
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev
sudo apt install libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev

 下载的是opencv-4.1.2.zip  opencv-3.4.8.zip

OpenCV4.x的解压:

unzip opencv-4.1.2.zip
cd opencv-4.1.2
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv ..

 

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv -D OPENCV_GENERATE_PKGCONFIG=on ..
make
sudo make install

运行完成后 ,在文件夹 /usr/local 下多了一个“ opencv”文件夹

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第1张图片

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第2张图片

 可以看一下这个文件夹下的内容,如果编译安装的是OpenCV 4.x

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第3张图片

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第4张图片

 在文件夹“/usr/local/opencv/lib”下没有文件夹“pkgconfig”,也就是我们在使用opencv的时候,不能用“pkg-config”命令。

在CMakeList.txt文件中,有一个命令“OPENCV_GENERATE_PKGCONFIG”,

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第5张图片

针对OpenCV4.x,该参数默认是 “off”,对于OpenCV3.x,该参数的默认值是“on”,所以我们在用 cmake命令时,OPENCV_GENERATE_PKGCONFIG=on即可,那么在安装完成后就会在文件夹“/usr/local/opencv/lib”下,多了一个“pkgconfig”文件夹,

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第6张图片

 需要注意的是,如果编译安装是OpenCV4.x版本,那么在“pkgconfig”文件夹下是

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第7张图片

 如果编译安装是OpenCV3.x版本,那么“pkgconfig”文件夹是 “opencv.pc”而不是“opencv4.pc”。配置环境变量:

gedit /etc/profile

或者 

/etc/bash.bashrc

 在文件末尾追加:

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

source /etc/profile

重启电脑。

如果编译安装的是OpenCV4.x,使用以下命令测试:

pkg-config --libs --cflags opencv4

如果编译安装的是OpenCV3.x,使用以下命令测试:

pkg-config --libs --cflags opencv

在编译安装DarkNet时,打开Makefile文件,是利用 pkg-config 命令链接opencv,而且 是opencv.pc。如果编译安装的是opencv4.x版本,将Makefile文件改为 "opencv4"就可以。

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第8张图片

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第9张图片

 

但是还是会出现以下错误:

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第10张图片

这是因为DarkNet的源码中,使用了类IplImage,但是OpenCV4.x版本中,已经全部将其移除了,所以最好安装OpenCV3.x版本。

配置环境变量:

PATH=$PATH:/usr/local/opencv/bin
export PATH

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv/lib

export LD_LIBRARY_PATH

否则在运行./darknet时,会出现以下错误,找不到对应的动态库:

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第11张图片

只要配置上 LD_LIBRARY_PATH 就可以正常运行:

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第12张图片

---- ------------------------

pip命令安装Python:

 在Spyder里解决对应包,代码提示和补全的问题,文件夹

/anaconda3/lib/python3.7/site-packages/spyder/utils/introspection/module_completion.py

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第13张图片

 在列表变量“mods”里继续添加对应的包名即可,如“cv2”

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第14张图片

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第15张图片

pip卸载opencv 

ubuntu18.04 --编译安装opencv4.x 3.x和DarkNet-YoloV3_第16张图片

 

 

 

你可能感兴趣的:(深度学习)