700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > JETSON TX1中为Python3配置OpenCV

JETSON TX1中为Python3配置OpenCV

时间:2020-08-16 10:34:47

相关推荐

JETSON TX1中为Python3配置OpenCV

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

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

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

我们发现可以找到多个对应的路径,我们选择其中一个,将它添加到环境变量当中即可export PYTHONPATH=$PYTHONPATH:/home/nvidia/opencv-master/build/lib/python3/测试。python3 -c 'import cv2; print(cv2.__version__)'

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。