参考网址:
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”文件夹
可以看一下这个文件夹下的内容,如果编译安装的是OpenCV 4.x
在文件夹“/usr/local/opencv/lib”下没有文件夹“pkgconfig”,也就是我们在使用opencv的时候,不能用“pkg-config”命令。
在CMakeList.txt文件中,有一个命令“OPENCV_GENERATE_PKGCONFIG”,
针对OpenCV4.x,该参数默认是 “off”,对于OpenCV3.x,该参数的默认值是“on”,所以我们在用 cmake命令时,OPENCV_GENERATE_PKGCONFIG=on即可,那么在安装完成后就会在文件夹“/usr/local/opencv/lib”下,多了一个“pkgconfig”文件夹,
需要注意的是,如果编译安装是OpenCV4.x版本,那么在“pkgconfig”文件夹下是
如果编译安装是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"就可以。
但是还是会出现以下错误:
这是因为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时,会出现以下错误,找不到对应的动态库:
只要配置上 LD_LIBRARY_PATH 就可以正常运行:
---- ------------------------
pip命令安装Python:
在Spyder里解决对应包,代码提示和补全的问题,文件夹
/anaconda3/lib/python3.7/site-packages/spyder/utils/introspection/module_completion.py
在列表变量“mods”里继续添加对应的包名即可,如“cv2”
pip卸载opencv