【教程】Jetson安装PyQt5和CUDA版OpenCV

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn]

如果本文帮助到了你,请不吝给个[点赞、收藏、关注]哦~

安装PyQt5

注意目前似乎只支持Python3.6!!!

sudo apt install pyqt5* -y
sudo apt-get install python3-pyqt5 -y
pip install pyqt5-sip
sudo ln -s /usr/lib/python3/dist-packages/PyQt5/ /home/sxf/archiconda3/envs/py36/lib/python3.6/site-packages

sudo ln -s /usr/lib/python3/dist-packages/sip* /home/sxf/archiconda3/envs/py36/lib/python3.6/site-packages

安装OpenCV

可以先尝试这个方法,如果不能用,再往下看编译方法:

pip install opencv-python

可参考:Install OpenCV on Jetson Nano - Q-engineering

# 检查你的总内存(RAM + swap),以便快速构建。至少需要:
# OpenCV 4.8.0 -> 8.5 GB!
# OpenCV 4.7.0 -> 8.5 GB!
# OpenCV 4.6.0 -> 8.5 GB!
# OpenCV 4.5.5 -> 8.5 GB!
# OpenCV 4.5.4 -> 8.5 GB!
# OpenCV 4.5.3 -> 8.5 GB!
# OpenCV 4.5.2 -> 8.5 GB!
# OpenCV 4.5.1 -> 6.5 GB
# OpenCV 4.5.0 -> 6.5 GB
# 如果没有,请按照指南中的说明扩大交换空间,或者只使用 1 个核心进行编译。

OpenCV 将安装在 /usr 目录中,所有文件都将复制到以下位置:

  • /usr/bin - executable files
  • /usr/lib/aarch64-linux-gnu - libraries (.so)
  • /usr/lib/aarch64-linux-gnu/cmake/opencv4 - cmake package
  • /usr/include/opencv4 - headers
  • /usr/share/opencv4 - other files (e.g. trained cascades in XML format)

由于编译需要较多的内存,因此推荐设置至少6G的swap,当然编译安装完可以再取消这么高的swap。

新建6G的swap空间:

sudo fallocate -l 6G /swapfile
ls -lh /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

或者,调整现有的swap空间:

# 如果你已经有一个交换文件,你需要先禁用它:
sudo swapoff -a

# 选择一个合适的交换文件大小,并创建一个新的交换文件:
sudo fallocate -l 6G /swapfile

# 如果 fallocate 不可用,你可以使用 dd 命令:
# sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

# 确保交换文件的权限正确,以防止其他用户读取或写入该文件:
sudo chmod 600 /swapfile

# 使用 mkswap 命令将文件设置为交换空间:
sudo mkswap /swapfile

# 启用新的交换文件:
sudo swapon /swapfile

# 再次检查交换空间配置以确保新的交换文件已启用:
free -h

# 将交换文件添加到 /etc/fstab 以便在系统启动时自动启用:
sudo bash -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'

自动化编译安装OpenCV:

# pip方法装的会报错
# pip install opencv-python

wget https://raw.githubusercontent.com/Qengineering/Install-OpenCV-Jetson-Nano/main/OpenCV-4-9-0.sh
sudo chmod 755 OpenCV-4-9-0.sh
./OpenCV-4-9-0.sh

注意,这个sh脚本会去下载OpenCV的仓库,国内网络可以考虑替换为以下地址:

git clone --depth=1 https://gitclone.com/github.com/opencv/opencv.git

git clone --depth=1 https://gitclone.com/github.com/opencv/opencv_contrib.git

推荐还是上个魔法,因为过程中可能还会自动去github下载其他仓库。

然后就是漫长等待:

最后安装python绑定:

cd /home/sxf/opencv/build/python_loader/
python setup.py install

出现报错: Illegal instruction (core dumped)

方法一

降低numpy版本:

pip install opencv-python==4.5.3.56
pip install numpy==1.19.4

方法二

就在启动python之前导出OPENBLAS_CORETYPE = ARMV8(或任何实际的硬件)应该可以解决这个问题:

export OPENBLAS_CORETYPE=ARMV8

相关推荐

  1. jetson orin nx重装Cuda加速的OpenCV4.5.4

    2024-05-16 06:50:20       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-16 06:50:20       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-16 06:50:20       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-16 06:50:20       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-16 06:50:20       20 阅读

热门阅读

  1. linux编译gdb

    2024-05-16 06:50:20       16 阅读
  2. springboot集成dubbo实现微服务系统

    2024-05-16 06:50:20       14 阅读
  3. 31、Flink 的 DataStream API 数据流算子详解

    2024-05-16 06:50:20       17 阅读
  4. 排序算法面试专用

    2024-05-16 06:50:20       14 阅读
  5. 视觉识别应用的场景有哪些

    2024-05-16 06:50:20       14 阅读
  6. LeetCode 257. 二叉树的所有路径

    2024-05-16 06:50:20       16 阅读