当前位置:首页 > 服务端 > 在jetson nano中配opencv环境(python通用)

在jetson nano中配opencv环境(python通用)

2022年11月09日 21:39:40服务端6

英伟达开发板是arm64,所以换源就要换成是支持arm64的国内源(不做详细介绍,但是挺重要)

1.默认你的jetson nano已经安装镜像并启动。打开控制终端,输入如下命令安装依赖库

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential python3 python3-dev python3-pip python3-pandas python3-opencv python3-h5py libhdf5-serial-dev hdf5-tools nano ntp

2.安装opencv

  • 构建OpenCV的第一步是在Jetson Nano上定义交换空间。
  • Jetson Nano具有4GB RAM。这不足以从源代码构建OpenCV。因此,我们需要在Nano上定义交换空间以防止内存崩溃
  • pip3 install virtualenv
    python3 -m virtualenv -p python3 env 
    echo "source env/bin/activate" >> ~/.bashrc
    source ~/.bashrc
    

      

# Turn off swap
sudo swapoff /var/swapfile
# Allocates 4G of additional swap space at /var/swapfile
sudo fallocate -l 4G /var/swapfile
# Permissions
sudo chmod 600 /var/swapfile
# Make swap space
sudo mkswap /var/swapfile
# Turn on swap
sudo swapon /var/swapfile
# Automount swap space on reboot
sudo bash -c 'echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab'
# Reboot
sudo reboot

  

安装opencv依赖项,用aptitude来进行操作:

# Update
sudo apt-get update
sudo apt-get upgrade
# Pre-requisites
sudo aptitude install build-essential cmake unzip pkg-config
sudo aptitude  install libjpeg-dev libpng-dev libtiff-dev
sudo aptitude  install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo aptitude  install libxvidcore-dev libx264-dev

#下面这个会告诉你有冲突项,你第一次选择n,第二次之后选择y即可
sudo aptitude  install libgtk-3-dev


sudo aptitude  install libatlas-base-dev gfortran
sudo aptitude  install python3-dev

 

下载opencv4.1源代码(可以自己下载好再上传上去linux中,也就是用xshell6的rz上传文件)

# Create a directory for opencv
mkdir -p projects/cv2
cd projects/cv2
 
# Download sources
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.1.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.1.0.zip
 
# Unzip
unzip opencv.zip
unzip opencv_contrib.zip
 
# Rename
mv opencv-4.1.0 opencv
mv opencv_contrib-4.1.0 opencv_contrib

  

进入虚拟环境

source ~/env/bin/activate
# Install Numpy
pip install numpy

  

创建工作文件

# Create a build directory
cd projects/cv2/opencv
mkdir build
cd build

  

以下代码都是在build路径中进行操作

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D OPENCV_ENABLE_NONFREE=ON \
    # Contrib path
    -D OPENCV_EXTRA_MODULES_PATH=~/projects/cv2/opencv_contrib/modules \
    # Your virtual environment's Python executable
    # You need to specify the result of echo $(which python)
    -D PYTHON_EXECUTABLE=~/env/bin/python \
    -D BUILD_EXAMPLES=ON ..

  

上传缺少的文件(可能缺少):

 https://files.cnblogs.com/files/ikic/boostdesc_bgm.i,vgg_generated_48.i%E7%AD%89.rar

上面下载好之后,将里面所有的文件放去 opencv_contrib/modules/xfeatures2d/src/

cd projects/cv2/opencv_contrib/modules/xfeatures2d/src/

  然后用xshell的rz上传里面所有文件

 在jetson nano中配opencv环境(python通用) _ JavaClub全栈架构师技术笔记

 

 有的话会说上传错误,一个一个上传。

 

上传成功之后回到build的工作目录中

cd projects/cv2/opencv/build

  

make -j2

  

在编译过程中,会遇到一些问题:

 引用最爱铅笔字的博客(当时没有截屏):

这次跑到73%的时候又出现错误了fatal error: features2d/test/

: 没有那个文件或目录
 #include "features2d/test/test_detectors_regression.impl.hpp"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在jetson nano中配opencv环境(python通用) _ JavaClub全栈架构师技术笔记

 

 遇到这种问题,

是头文件有点问题,把下面文件夹里的两个文件拷贝到opencv_contrib/modules/xfeatures2d/test

在打开这个文件,修改下头文件。

在jetson nano中配opencv环境(python通用) _ JavaClub全栈架构师技术笔记

 

 

复制粘贴之后就修改报错的那个文件

将下面这句话改成
 #include "features2d/test/test_detectors_regression.impl.hpp"
 然后以此类推,哪里报错就修改那里的文件的头include,哪个文件缺失就从opencv那移过来

 

在jetson nano中配opencv环境(python通用) _ JavaClub全栈架构师技术笔记

 

 

这些错误修改之后就运行(可重复运行)

make -j2

 

直到后面全部运行成功

在build中安装opencv

# Install OpenCV
sudo make install
sudo ldconfig

  

将构建的OpenCV库链接到虚拟环境virtualenv

# Go to the folder where OpenCV's native library is built
cd /usr/local/lib/python3.6/site-packages/cv2/python-3.6
ls
# Rename(xxx是可替代的,看ls之后的结果来进行下一步修改)
mv cv2.cpython-36m-xxx-linux-gnu.so cv2.so
# Go to your virtual environments site-packages folder
cd ~/env/lib/python3.6/site-packages/
# Symlink the native library
ln -s /usr/local/lib/python3.6/site-packages/cv2/python-3.6/cv2.so cv2.so

  这样就完成了

 

作者:hsjwu
来源链接:https://www.cnblogs.com/ikic/p/12601450.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/68989.html

标签: Python
分享给朋友:

“在jetson nano中配opencv环境(python通用)” 的相关文章

python实现——处理Excel表格(超详细)

python实现——处理Excel表格(超详细)

目录 xls和xlsx 基本操作 1:用openpyxl模块打开Excel文档,查看所有sheet表 2.1:通过sheet名称获取表格...

Python 查找算法

Python 查找算法

查找算法是用来检索序列数据(群体)中是否存在给定的数据(关键字),常用查找算法有: 线性查找: 线性查找也称为顺序查找,用于在无序数列中查找。 二分查找: 二分查找也称为折半查找,其算法用于有序数列。 插值查找: 插值查找是对二分查找算法的改进。...

Python  turtle  模块可以编写游戏,是真的吗?

Python turtle 模块可以编写游戏,是真的吗?

1. 前言 turtle (小海龟) 是 Python 内置的一个绘图模块,其实它不仅可以用来绘图,还可以制作简单的小游戏,甚至可以当成简易的 GUI 模块,编写简单的 GUI 程序。 本文使用 turtle 模块编写一个简单的小游戏,通过此程序的编写过程聊一聊对 turt...

widows下 python环境变量配置

widows下 python环境变量配置 便于cmd命令行操作,例如:直接进入Python解释器环境、使用pip安装模块等。 作者:hello-Jesson 来源链接:https://www.cnblogs.com/hello...

为啥 python自带的 pip运行不了?

为啥 python自带的 pip运行不了?

我们 把python2或者3 解压到指定目录后,然后在配置好 python环境变量后,在CMD窗口 运行 python --version 是正常的     但是运行pip却是 提示没有 这个命令呢?   &n...

cherrypy安装使用,配置python环境变量

  cherrypy安装使用,配置python环境变量 2011-01-16 22:03 cherrypy安装使用,配置python环境变量Cherry...

Windows平台Python指定版本安装模块包

Windows平台Python指定版本安装模块包

此文转载自:https://blog.csdn.net/Ginomica_xyx/article/details/110221826 Windows平台Python指定版本安装模块包 当电脑中存在多个版本的Pyt...

配置多个版本的python的系统环境变量

配置多个版本的python的系统环境变量

因为python3.x不向后兼容,所以假如你要运行其他版本的程序就不得不再装一个2.x的python,因此在配置系统的环境变量上可能会出现问题,所以这里我简单的说一下这个问题怎么解决。 解决方法:给你的python.exe改一个名字再建立环境变量,如我的两个本本的python目录...

python3.4 + pycharm 环境安装 + pycharm使用

python3.4 + pycharm 环境安装 + pycharm使用

遇到很多初学者的盆友,来问python环境安装的问题。。因此,这篇文章就诞生了。。 因个人是windows的环境,所以本文只讲windows环境下的python安装。 作为初用python的盆友,强烈建议只在电脑上装一个python版本就好了,不然就进了各种坑里了。...

python环境变量自动配置脚本(setx使用)

前言 setx不是windows系统自带的工具,需要到微软官网下载,但是有的系统也会自带。(是官方提供的,可放心食用) set和setx都可以用来配置环境变量。他们的不同点在于,set只是临时的修改环境变量,控制台关闭之后效果就消失,setx则可以永久改变环境变量(自动修改...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。