当前位置: 首页>前端>正文

Halcon深度学习找不到gpu halcon支持python吗

JETSON TX1中为Python3配置OpenCV

  • 准备工作
  • OpenCV源码编译
  • OpenCV的安装
  • Python调用cv2

第一次使用

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/ ..

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

Halcon深度学习找不到gpu halcon支持python吗,Halcon深度学习找不到gpu halcon支持python吗_Halcon深度学习找不到gpu,第1张

OpenCV的安装

  • build目录下执行make -j4 静静等待成功,make成功时如下图所示:
  • sudo make installinstall成功时如下图所示:
  • 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
  • Halcon深度学习找不到gpu halcon支持python吗,Halcon深度学习找不到gpu halcon支持python吗_OpenCV_02,第2张

  • 我们发现可以找到多个对应的路径,我们选择其中一个,将它添加到环境变量当中即可
  • export PYTHONPATH=$PYTHONPATH:/home/nvidia/opencv-master/build/lib/python3/
  • 测试。python3 -c 'import cv2; print(cv2.__version__)'
  • Halcon深度学习找不到gpu halcon支持python吗,Halcon深度学习找不到gpu halcon支持python吗_Halcon深度学习找不到gpu_03,第3张

  • 至此完,希望能够帮助到大家。



https://www.xamrdz.com/web/2bm1942935.html

相关文章: