树莓派安装OpenCV3完整教程:从环境配置到摄像头测试
本文详细介绍在树莓派上安装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的安装与摄像头测试流程全部完成。希望本文内容能帮助您顺利完成环境搭建,如有其他问题欢迎继续交流。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









