打开终端,输入以下指令卸载已经安装的opencv:
sudo apt-get purge libopencv*
sudo apt autoremove
sudo apt-get update
打开终端,输入以下指令安装依赖包:
sudo apt-get install -y build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install -y python2.7-dev python3-dev python-dev python-numpy python3-numpy
sudo apt-get install -y libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
sudo apt-get install -y libv4l-dev v4l-utils qv4l2 v4l2ucp
sudo apt-get install -y curl
Opencv下载有两种方式:直接下载或者windows下载后拷贝过去:
1、直接下载
curl -L https://github.com/opencv/opencv/archive/4.4.0.zip -o opencv-4.4.0.zip
curl -L https://github.com/opencv/opencv_contrib/archive/4.4.0.zip -o opencv_contrib-4.4.0.zip
unzip opencv-4.4.0.zip
unzip opencv_contrib-4.4.0.zip
2、windows电脑下载Opencv一般从github上下载(我是从windows电脑下载后拷贝过去的):https://github.com/opencv
下载opencv和opencv_contrib,分别点击对应位置进入:
然后点击tags,选择自己需要的版本:
其中opencv4.4.0、opencv_contrib-4.4.0我已下载好了,百度网盘下载地址:https://pan.baidu.com/s/1Het-G2PcJ8sXYOhvZk5Hug;提取码:opcv 。
解压完毕后进入opencv文件夹,打开终端,输入以下指令:
mkdir build
cd build/
cmake -D WITH_CUDA=ON -D WITH_CUDNN=ON -D CUDA_ARCH_BIN="6.2" -D CUDA_ARCH_PTX="" -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=/root/opencv_contrib-4.4.0/modules -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4
sudo make install
其中CUDA_ARCH_BIN=“6.2” 对应Jetson TX2,OPENCV_EXTRA_MODULES_PATH为opencv_contrib解压后文件的路径,其他的参数参考opencv的编译选项的含义。
获得CUDA_ARCH_BIN的方法:输入以下指令,进入cuda例子文件夹,编译及运行程序。
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery/
sudo make
sudo ./deviceQuery
得到如下界面,并记下version number。
如果想通过类似windows上的界面配置cmake的相关参数可以进行以下操作,通过安装cmake-gui实现:
sudo apt-get install cmake-gui
启动cmake-gui后导入源码和build地址,按照之前的-D配置信息勾选,没有的通过Add Entry添加。 比较关键的是 OPENCV_EXTRA_MODULES_PATH 需要手动添加。
配置完之后点击configure和generate,完成之后关闭gui,接着在终端运行:
make -j4
sudo make install
如果中间出现异常大部分为网络导致的下载异常,可多执行几遍,或者找到成功安装的文件直接拷贝过来,实时下载的文件都存储在文件夹.cache中:
打开新的终端,输入以下指令,正常执行为安装成功:
python
import cv2
quit()