树莓派安装 OpenCV 教程

以下是在树莓派上安装 OpenCV 的教程:

笔者当前Python版本:3.7.3

一、更新树莓派系统

在终端中运行以下命令:

bash 复制代码
sudo apt update
sudo apt upgrade

二、安装必要的依赖项

  1. 安装构建工具和图像 I/O 库:
bash 复制代码
sudo apt install build-essential cmake pkg-config
sudo apt install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev
  1. 安装视频 I/O 库:
bash 复制代码
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt install libxvidcore-dev libx264-dev
  1. 安装 GTK 图形界面库(用于显示图像等):
bash 复制代码
sudo apt install libgtk2.0-dev libgtk-3-dev
  1. 安装优化的线性代数库:
bash 复制代码
sudo apt install libatlas-base-dev gfortran

三、安装 OpenCV

方法一. 直接安装OpenCV :

bash 复制代码
sudo apt-get install python3-opencv

方法二. 下载 OpenCV 源代码:

可以从 OpenCV 的官方 GitHub 仓库下载源代码。在终端中运行以下命令:

bash 复制代码
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.7.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.7.0.zip

注意:

1.这里下载如果很慢的话,建议开魔法直接访问网址进行下载,然后本地通过Filezilla等文件传输工具传到树莓派的/home/pi/目录下

2.没有魔法的朋友也可以云盘下载:

通过网盘分享的文件:opencv-4.7.0.zip

通过网盘分享的文件:opencv_contrib-4.7.0.zip

  1. 解压文件:
bash 复制代码
unzip opencv-4.7.0.zip
unzip opencv_contrib-4.7.0.zip
  1. 创建一个构建目录并进入:
bash 复制代码
opencv-4.7.0
mkdir opencv_build
cd opencv_build
  1. 使用 CMake 配置构建:
bash 复制代码
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.7.0/modules \
    -D ENABLE_NEON=ON \
    -D ENABLE_VFPV3=ON \
    -D BUILD_TESTS=OFF \
    -D INSTALL_PYTHON_EXAMPLES=OFF \
    -D BUILD_EXAMPLES=OFF ..
  1. 编译和安装:
bash 复制代码
make -j4
sudo make install

(这里的 -j4 表示使用 4 个线程进行编译,可以根据树莓派的性能调整这个数字。)

四、验证安装

  1. 在 Python 中验证:

打开 Python 解释器,运行以下命令:

python 复制代码
import cv2
print(cv2.__version__)

如果成功打印出 OpenCV 的版本号,则说明安装成功。

  1. 运行一个简单的 OpenCV 程序:

创建一个名为 test_opencv.py 的文件,内容如下:

python 复制代码
import cv2

img = cv2.imread('test.jpg')
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

确保有一个名为 test.jpg 的图像文件在同一目录下,然后运行这个程序:

bash 复制代码
python test_opencv.py

如果成功显示图像窗口,则说明 OpenCV 安装和配置正确。

相关推荐
Point__Nemo20 分钟前
深度学习Day-33:Semi-Supervised GAN理论与实战
人工智能·深度学习
魔力之心24 分钟前
人工智能与机器学习原理精解【20】
人工智能·机器学习
SEU-WYL3 小时前
基于深度学习的因果发现算法
人工智能·深度学习·算法
Tunny_yyy4 小时前
李宏毅2023机器学习HW15-Few-shot Classification
人工智能·机器学习
Francek Chen4 小时前
【机器学习-监督学习】朴素贝叶斯
人工智能·机器学习·分类·数据挖掘·scikit-learn·朴素贝叶斯·naive bayes
jndingxin6 小时前
OpenCV运动分析和目标跟踪(1)累积操作函数accumulate()的使用
人工智能·opencv·目标跟踪
文艺倾年6 小时前
【大模型专栏—进阶篇】语言模型创新大总结——“后起之秀”
人工智能·pytorch·语言模型·自然语言处理·大模型
DA树聚6 小时前
大语言模型之ICL(上下文学习) - In-Context Learning Creates Task Vectors
人工智能·学习·程序人生·ai·语言模型·自然语言处理·easyui
一支王同学6 小时前
论文解读《LaMP: When Large Language Models Meet Personalization》
人工智能·语言模型·自然语言处理
水花花花花花7 小时前
卷积神经网络
人工智能·神经网络·cnn