600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Ubuntu18.04安装OpenCV4.3.0和环境配置(支持编译CUDA并安装配置python-opencv)

Ubuntu18.04安装OpenCV4.3.0和环境配置(支持编译CUDA并安装配置python-opencv)

时间:2019-05-26 03:20:11

相关推荐

Ubuntu18.04安装OpenCV4.3.0和环境配置(支持编译CUDA并安装配置python-opencv)

Ubuntu18.04安装OpenCV4.3.0和环境配置

下载源文件安装依赖编译安装环境配置动态库配置配置OpenCV的`PKG-CONFIG`环境Python-OpenCV环境[如果安装python支持,否则可以跳过此步]测试OpenCVC++Python[如安装Python支持]The end

下载源文件

在官方网站下载OpenCV 4.3.0安装包,在GitHub上下载OpenCV-contrib模块。

安装过程主要参考官方文档。

安装依赖

首先是一些必须安装的依赖项:

$ sudo apt-get install -y build-essential checkinstall cmake pkg-config yasm git gfortran# 添加源,防止可能会出现的找不到所需安装的库的情况$ sudo add-apt-repository -y "deb /ubuntu xenial-security main"$ sudo apt-get update$ sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev$ sudo apt-get install -y libjpeg8-dev libjasper-dev libpng12-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev libv4l-dev$ sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk2.0-dev libtbb-dev libatlas-base-dev libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore-dev libopencore-amrnb-dev libopencore-amrwb-dev x264 v4l-utils

如果需要python3支持则需要安装下面两个库:

$ sudo apt install python3-dev python3-numpy

可以选择安装一些可选的库:

$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

编译安装

解压安装包

$ unzip opencv-4.3.0.zip$ unzip opencv_contrib-4.3.0.zip

进入解压文件夹

$ cd opencv-4.3.0

创建编译文件夹build

$ mkdir build$ cd build/

cmake编译

cmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local/ \ #指定安装路径-D CUDA_ARCH_BIN='7.5' \ #指定GPU算力,在NVIDIA官网查询-D WITH_CUDA=ON \ #使用CUDA-D WITH_CUBLAS=ON \-D WITH_TBB=ON \-D WITH_V4L=ON \-D WITH_QT=ON \ #使用QT支持-D WITH_OPENGL=ON \-D OPENCV_EXTRA_MODULES_PATH=~/Downloads/opencv_contrib-4.3.0/modules \ #opencv_contrib modules路径-D OPENCV_GENERATE_PKGCONFIG=YES ..

NVIDIA官网查询算力。

OPENCV_GENERATE_PKGCONFIG用于生成opencv4.pc文件,支持pkg-config功能

cmake命令的结果中可以看到是否支持CUDA以及Python情况。

make编译

#使用nproc确定CPU核心数$ nproc$ make -j6 #根据CPU核心数确定编译线程数

安装

$ sudo make install

安装成功,我是安装在home目录下,可以根据自己的偏好设置安装路径,但是演示我是按照官网给出的安装路径。

环境配置

动态库配置

$ sudo echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv4.conf#使配置生效$ sudo ldconfig

配置OpenCV的PKG-CONFIG环境

/usr/local/lib/pkgconfig/路径加入PKG_CONFIG_PATH中:

打开文件

$ sudo vim /etc/profile.d/pkgconfig.sh

在文件中添加如下内容

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

使配置生效

$ source /etc/profile

Python-OpenCV环境[如果安装python支持,否则可以跳过此步]

在安装目录:/usr/local/lib/python3.6/dist-packages/cv2/python-3.6/中可以找到文件cv2.cpython-36m-x86_64-linux-gnu.so,即为编译好的python3的opencv库。根据安装位置的不同和Python版本的不同文件名可能略有差异。将其链接到.../python/site-packages中,即可在Python解释器中使用Opencv。

#系统自带Pythonsudo ln -s /usr/local/lib/python3.6/dist-packages/cv2/python-3.6/cv2.cpython-36m-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/cv2.so#如果是自己安装的需要根据自己的安装位置sudo ln -s /usr/local/lib/python3.6/dist-packages/cv2/python-3.6/cv2.cpython-36m-x86_64-linux-gnu.so <path_to_python>/lib/python3.7/dist-packages/cv2.so

测试OpenCV

C++

在解压后的/opencv-4.3.0/samples/cpp/example_cmake中存在测试用例。

修改目录下Malefile文件

修改后如下:

CXX ?= g++CXXFLAGS += -c -Wall $(shell pkg-config --cflags opencv4)LDFLAGS += $(shell pkg-config --libs --static opencv4)all: opencv_exampleopencv_example: example.o; $(CXX) $< -o $@ $(LDFLAGS)%.o: %.cpp; $(CXX) $< -o $@ $(CXXFLAGS)clean: ; rm -f example.o opencv_example

make生成可执行文件opencv_example

$ make

执行

$ ./opencv_example

成功执行可以看到Hello OpenCV字样。

Python[如安装Python支持]

通过Python解释器打印OpenCV版本号

$ python3.7Python 3.7.7 (default, Jul 2 , 21:58:02)[GCC 7.5.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import cv2>>> print(cv2.__version__)#成功则打印版本信息4.3.0

The end

如果出现"/usr/bin/ld:cannot find -lcudart_static…/usr/bin/ld: cannot find -lx86_64-linux-gnu"问题,参考解决方法。Enjoy coding.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。