之前在网上查TX2的资料,在刷机那一章说Jetpack自带了opencv、cuda等等,但是用命令找opencv却显示不存在,于是再装一次opencv,(cuda安装在上篇博客中)。Jetpack3.3自带了opencv3.3,但只提供了python2.7的编译版本,我默认的python是3.5版本的,如果要求使用板载摄像头,是必须要有OpenCV3.4版本以上的,而且要有gstreamer等一系列摄像头支持的依赖。因此我安装的是opencv3.4.0。
1、移除jetpack自带的opencv
sudo apt-get purge libopencv*
2、将所有安装的APT包升级到最新版本
sudo apt-get update
sudo apt-get dist-upgrade
3、安装依赖包
sudo apt-get install build-essential make cmake cmake-curses-gui libavformat-dev libavutil-dev libswscale-dev libv4l-dev libeigen3-dev libglew-dev libgtk2.0-dev
sudo apt-get install libdc1394-22-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install libjpeg8-dev libjpeg-turbo8-dev libtiff5-dev libjasper-dev libpng12-dev libavcodec-dev
sudo apt-get install libxvidcore-dev libx264-dev libgtk-3-dev libatlas-base-dev gfortran
sudo apt-get install libopenblas-dev liblapack-dev liblapacke-dev
sudo apt-get install qt5-default
sudo apt-get install python3-dev python3-pip python3-tk
sudo pip3 install matplotlib
4、修改matplotlibrc( line #41)为“backend :TkAgg”
sudo vim /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/matplotlibrc
5、下载opencv-3.4.0源码
1)在TX2里新建一个名为opencv的文件夹
mkdir opencv
2)在浏览器打开以下网址,下载opencv-3.4.0的安装包
https://github.com/opencv/opencv/archive/3.4.0.zip
3)将下载的安装包文件解压到 /opencv目录下
4)安装opencv
进入opencv文件夹里
cd opencv
编译下载文件
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_CUDA=ON -D CUDA_ARCH_BIN="6.2" -D CUDA_ARCH_PTX="" \
-D WITH_CUBLAS=ON -D ENABLE_FAST_MATH=ON -D CUDA_FAST_MATH=ON \
-D ENABLE_NEON=ON -D WITH_LIBV4L=ON -D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF \
-D WITH_QT=ON -D WITH_OPENGL=ON ..
make -j4
sudo make install
5)验证是否安装成功
ls /usr/local/lib/python3.5/dist-packages/cv2.*
输出:/usr/local/lib/python3.5/dist-packages/cv2.cpython-35m-aarch64-linux-gnu.so
python3 -c 'import cv2; print(cv2.__version__)'
输出:3.4.0