Jetson TX2 Jetpack3.3安装opencv3.3

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/long19960208/article/details/88180035

Jetpack3.3自带了opencv3.3,但是只提供了python2.7的编译版本,所以也只能在python2.7下使用,

尝试用简单的方法链接到python3中,但是遍查资料也没人说过这个东西,参考国外教程,制作了如下的教程:

第一步,

###Remove all old opencv stuffs installed by JetPack
sudo apt-get purge libopencv*

第二步

### I prefer using newer version of numpy (installed with pip), so
### I'd remove this python-numpy apt package as well
sudo apt-get purge python-numpy

第三步:

### Remove other unused apt packages
sudo apt autoremove

第四步:

### Upgrade all installed apt packages to the latest versions (optional)
sudo apt-get update
sudo apt-get dist-upgrade

第五步:

### Update gcc apt package to the latest version (highly recommended)
sudo apt-get install --only-upgrade g++-5 cpp-5 gcc-5

第六步:

sudo apt-get install build-essential make cmake cmake-curses-gui \
                       g++ 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 numpy
$ sudo pip3 install matplotlib

   第十四步:

Modify matplotlibrc (line #41) as 'backend      : TkAgg'
sudo vim /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/matplotlibrc

第十五步:

$ sudo apt-get install python-dev python-pip python-tk
$ sudo pip2 install numpy
$ sudo pip2 install matplotlib
### Modify matplotlibrc (line #41) as 'backend      : TkAgg'
$ sudo vim /usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/matplotlibrc

 

 第十六步:

### Download opencv-3.4.0 source code
$ mkdir -p ~/src
$ cd ~/src
$ wget https://github.com/opencv/opencv/archive/3.4.0.zip \
       -O opencv-3.4.0.zip
$ unzip opencv-3.4.0.zip
### Build opencv (CUDA_ARCH_BIN="6.2" for TX2, or "5.3" for TX1)
$ cd ~/src/opencv-3.4.0
$ 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

 第十七步:To verify the installation:

$ ls /usr/local/lib/python3.5/dist-packages/cv2.*
/usr/local/lib/python3.5/dist-packages/cv2.cpython-35m-aarch64-linux-gnu.so
$ ls /usr/local/lib/python2.7/dist-packages/cv2.*
/use/local/lib/python2.7/dist-packages/cv2.so
$ python3 -c 'import cv2; print(cv2.__version__)'
3.4.0
$ python2 -c 'import cv2; print(cv2.__version__)'
3.4.0

 最后一步:

这个是补的,当时编译完只有只测试过python环境下是可以用的了,但是c++版本的并没有测试,后来需要编译c++程序的时候发现还是有问题,会提示找不到包含opencv的文件夹。原因是因为还没有把编译好的opencv添加到linux的系统路径中。

首先修改配置文件:

sudo vim /etc/ld.so.conf

在其后添加opencv编译的lib的路径。

然后在运行

sudo ldconfig

这个命令的用途是在ld.so.conf内所列的目录下搜索可共享的动态链接库,进而创建出动态装入程序所需要的连接和缓存文件。具体可以参见这里,一般在重启系统时会自动运行,当用户安装了一个新的动态链接库的时候,如果不想重启则需要手动运行这个命令。

然后修改bash.bashrc文件。

sudo vim /etc/bash.bashrc

在最后添加:

然后输入

source /etc/bash.bashrc 

更新环境变量。

参考资料:https://jkjung-avt.github.io/opencv3-on-tx2/

猜你喜欢

转载自blog.csdn.net/long19960208/article/details/88180035