树莓派安装OpenCV3完整教程:从环境配置到摄像头测试

Hazel
Hazel
发布时间:2026-10-13 | 4人浏览过
原创

本文详细介绍在树莓派上安装OpenCV3的完整流程。从系统更新、依赖库安装(包括图像、视频及GTK工具包),到源码下载编译,最后解决摄像头硬件调用问题并提供Python测试代码。适用于希望树莓派进行计算机视觉开发的开发者,确保环境配置正确及摄像头功能正常。

系统配置与基础环境更新

首先需要对树莓派系统进行基础配置与更新。通过运行 命令进入配置界面,确保已开启摄像头模块及SSH功能。随后执行系统更新指令,包括获取软件包列表、升级现有软件以及更新树莓派固件,以保证系统环境的最新与稳定。


sudo raspi-config // 进入后打开摄像头、SSH
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update

安装OpenCV依赖库

接下来安装OpenCV运行所需的基础构建工具。执行 命令,安装编译OpenCV源码所必需的build-essential、cmake、git以及pkg-config等开发包,为后续源码编译做好准备。


sudo apt-get install build-essential cmake git pkg-config

安装OpenCV处理图像数据所需的底层图像库。通过 命令,依次安装libjpeg8、libtiff5、libjasper以及libpng12等图像格式解码库,确保OpenCV能够读取和处理多种常见格式的图像文件。


sudo apt-get install libjpeg8-dev 
sudo apt-get install libtiff5-dev 
sudo apt-get install libjasper-dev 
sudo apt-get install libpng12-dev 

配置视频输入输出相关的依赖包。执行 命令,安装libavcodec、libavformat、libswscale以及libv4l-dev等库。这些库支持视频编解码、格式转换以及V4L2视频设备接口,是视频处理功能正常运行的关键。


sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

安装图形界面支持及优化函数库。通过 命令,安装libgtk2.0-dev以支持GUI显示功能,同时安装libatlas-base-dev和gfortran以优化数学计算性能。这些组件有助于提升OpenCV在树莓派上的运行效率及界面交互能力。


sudo apt-get install libgtk2.0-dev
sudo apt-get install libatlas-base-dev gfortran

下载与编译OpenCV源码

从GitHub官方仓库下载OpenCV的源代码。

访问 可以查看OpenCV的所有历史版本源码,以便选择适合当前系统的特定版本进行下载。


git clone https://github.com/opencv/opencv.git

下载源码后,进入源码目录进行编译安装。根据下载的具体版本进入对应文件夹(如 中展示的opencv-3.2.0版本示例),创建并进入release构建目录。使用cmake生成Makefile文件,指定安装路径为/usr/local,并设置编译类型为RELEASE。随后执行sudo make进行编译,并通过sudo make install完成安装。最后,运行sudo ldconfig更新动态链接库缓存,使系统能够识别新安装的OpenCV库。


// 根据下载的版本而定
cd opencv-3.2.0 
// 创建release文件夹
mkdir release
// 进入release目录下
cd release
// cmake读入所有源文件之后,自动生成makefile
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local ..
// 编译
sudo make
// 安装
sudo make install
//更新动态链接库
sudo ldconfig

解决摄像头驱动问题

若遇到无法打开摄像头硬件的问题,需检查内核模块加载情况。通过 命令编辑/etc/modules文件,在文件末尾添加snd-bcm2835和bcm2835-v4l2两行,确保相关音频和视频虚拟设备模块在启动时自动加载,从而解决摄像头驱动识别问题。


sudo nano /etc/modules
// 进入编辑界面后,在末尾添加输入
snd-bcm2835
bcm2835-v4l2

Python代码测试与验证

编写并运行Python测试代码以验证OpenCV及摄像头是否正常工作。参考 中的示例代码,该脚本使用cv2.VideoCapture(0)打开默认摄像头,读取视频帧,转换为灰度图后在中心绘制红色圆圈,并通过窗口实时显示处理后的图像。按'q'键退出程序,最后释放摄像头资源并关闭所有窗口。


# -*- coding: utf-8 -*-
__author__ = "kyoRan"

import cv2

cap = cv2.VideoCapture(0)          # 打开摄像头
print("VideoCapture is opened?", cap.isOpened())

while(True):

 ret, frame = cap.read()          # 读取摄像头图像
 center = (frame.shape[1]//2, frame.shape[0]//2)    # 图像中心点位置

 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)    # 转灰度
 cv2.circle(gray, center=center, radius=100, color=(0,0,255)) # 画圆
 cv2.imshow("frame", gray)         # 显示图片

 if cv2.waitKey(1) & 0xFF == ord('q'):
  break

cap.release()   # 释放摄像头
cv2.destroyAllWindows() # 关闭所有窗口

运行上述代码后,若能看到实时视频流窗口且无报错,则表明OpenCV安装成功且摄像头驱动配置正确。

至此,树莓派OpenCV3的安装与摄像头测试流程全部完成。希望本文内容能帮助您顺利完成环境搭建,如有其他问题欢迎继续交流。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表