要说树莓派最惊艳的能力,图像识别(机器视觉)当仁不让——让小车"看懂"前方是路还是障碍、是红色还是蓝色。而这一切的起点,是 OpenCV 这个图像处理标准库。这篇把 OpenCV 在树莓派上的安装和第一个程序讲明白,为后面真正的人脸/物体识别铺路。
图像识别先别想太玄,就是"读图+算图"
图像识别听起来高大上,本质就两步:读进来一张图(像素矩阵)→ 用算法在里面找特征(颜色、边缘、轮廓、有没有人脸)。OpenCV 就是帮你干这件事的瑞士军刀,全世界最流行的开源计算机视觉库,树莓派上跑得动。
在树莓派安装 OpenCV
推荐直接用系统的 apt 安装(对编译不熟的话,apt 最省心,避免自己编译踩坑)。如果网络慢,可以先设好国内镜像源提速:
sudo apt install libopencv-dev cmake
装好后,Python 里直接 import cv2 就能用。C++ 开发则用 apt 装 libopencv-dev。官方已证明在 Raspberry Pi OS Bookworm 12 上测试通过,所以用最新官方系统最省事。
Python 第一个程序:读图并显示
OpenCV 的 "Hello World" 就是读一张图、显示出来、按键关闭。Python 版只要几行:
import cv2 as cv # 引用 OpenCV 库
img = cv.imread("/path/to/image") # 读图片
cv.imshow("Display window", img) # 显示图片
cv.waitKey(0) # 等待按键后关闭窗口
cv.imread() 读图、cv.imshow() 显示、cv.waitKey(0) 让窗口等你按任意键。这就是图像处理的"入口"——所有更高级的操作(灰度化、边缘检测、识别)都是在 img 这个像素矩阵上继续算。
C++ 也可以用(入门选 Python 更顺)
官方也给了 C++ 版本,本质一样:imread 读 → imshow 显示 → waitKey 等待。C++ 性能更好,适合做实时处理的上层应用;但入门做小车、验证想法,Python 更简单直接,代码量少一大半,改起来也快。
注意 C++ 时要加好 OpenCV 的 include 目录(/usr/include/opencv4/),或在 CMake 里用 find_package(OpenCV REQUIRED),否则会报一堆头文件找不到的错。
下一步:从"看图"到"认出东西"
会读图、显示图之后,就能往上加了:颜色追踪(找红球)、轮廓检测、人脸/物体识别。放到智能小车上,最典型的就是摄像头循迹 / 追球 / 避障——这就是"智能小车智能化"路线的核心:用视觉代替纯开关传感器,让车"看懂"环境再决策。
跑跑啦的全自动智能小车整机走的就是"传感器感知 + 编码器精准控制 + 智能体决策"的路子,摄像头/视觉模块可以扩展。想从"看懂一张图"进阶到让车自己找路,欢迎看看我们传感器模块和智能小车产品。淘宝店:paopaola.taobao.com。
小提示:OpenCV 用 apt 安装最省心;Python 的 import cv2 是"看图"第一步,之后的识别都建立在读到的像素矩阵上。
(本文整理自 Raspberry Pi 树莓派官方文档《Hello World》OpenCV 示例,CC BY-SA 4.0,来源:https://shumeipai.nxez.com/doc-zhcn/docs/program/opencv/hello_world)


微信联系
淘宝联系