JETSON TX1中为Python3配置OpenCV


第一次使用 JETSON TX1这个开发板,好像这个板子前几年就出来了,所以网上好多关于这个板子刷机的教程很多,所以我在这里就不过多赘述。而且刷机后它默认只支持 python2来调用 opencv,而 python3想要调用 opencv,就需要自己进行编译。今天我主要想分享的就是关于在这个板子上为 python3安装 OpenCV的过程。

参考了这篇博客

准备工作

  • python3.5(通过Jetpack刷机后默认的3.5)
  • 需要有numpy的支持
  • opencv源码地址
  • opencv_contrib源码地址
  • cmake,以及一些相应的库支持
 sudo apt-get install -y \
    libglew-dev \
    libtiff5-dev \
    zlib1g-dev \
    libjpeg-dev \
    libpng12-dev \
    libjasper-dev \
    libavcodec-dev \
    libavformat-dev \
    libavutil-dev \
    libpostproc-dev \
    libswscale-dev \
    libeigen3-dev \
    libtbb-dev \
    libgtk2.0-dev \
    cmake \
    python-numpy\
    pkg-config

OpenCV源码编译

  • 解压下载好的opencv源码和opencv_contrib源码
  • cd opencv-master
  • mkdir buildbuild文件夹主要用于存储我们通过cmake编译后的opencv的库
  • cd build
  • 接下来,我们需要在build文件夹中进行cmake编译,在执行下面的命令的过程中,千万不要直接复制我的命令,因为有好多细节的地方需要改成对应自己开发板的目录(下面我具体指出需要改的地方)。
    • -D CMAKE_INSTALL_PREFIX这个主要指定的是opencv的安装目录,这个参数的值一定要改,opencv这个是我自己在/usr/local/下新建的,专门用来存放需要安装opencv的文件
    • -D OPENCV_EXTRA_MODULES这个需要对应之前你解压的opencv_contrib下的modules目录
    • PYTHON3_LIBRARIES这个主要要注意的是需要对应自己板子中的aarch64-linux-gnu文件夹,不同板子这个文件夹的名字可能不同,不过都在/usr/lib/这个目录下,不确定的话,就在/usr/lib/目录下找带有linux-gnu字样的文件夹即可
    • PYTHON3_NUMPY_INCLUDE_DIRS这个主要对应python3numpy的一个目录,后面的..一定要加上
cmake -D BUILD_opencv_python3=YES -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv -D OPENCV_EXTRA_MODULES=/home/nvidia/ opencv_contrib-master/modules -D PYTHON3_LIBRARIES=/usr/lib/aarch64-linux-gnu/libpython3.5m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ ..

确保所有的东西都没错的话,直接执行,如果出现如下图所示的结果,说明编译成功了。
cmake编译结果

OpenCV的安装

  • build目录下执行make -j4 静静等待成功,make成功时如下图所示:
    在这里插入图片描述
  • sudo make installinstall成功时如下图所示:
    install success
  • sudo ldconfig
    到此OpenCV就安装成功了。但是,这个时候python直接调用还是不行的。我们在上面make成功的时候,发现有这样的提示:
    在这里插入图片描述
    也就是我们在make成功后,生成了cv2.cpython-35m-aarch64-linux-gnu.so这样的一个.so文件。这个文件也是我们通过python3调用OpenCV的关键。

Python调用cv2

接下来,我们需要找到cv2.cpython-35m-aarch64-linux-gnu.so,然后将它所在的路径添加到环境变量当中,cv2就可以永久使用了。
具体步骤:

  • find / -name cv2.cpython-35m-aarch64-linux-gnu.so
    在这里插入图片描述
    我们发现可以找到多个对应的路径,我们选择其中一个,将它添加到环境变量当中即可
  • export PYTHONPATH=$PYTHONPATH:/home/nvidia/opencv-master/build/lib/python3/
  • 测试。python3 -c 'import cv2; print(cv2.__version__)'
    在这里插入图片描述
    至此完,希望能够帮助到大家。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值