树莓派5添加摄像头 在C++下调用opencv

由于树莓派5 os系统升级,正常libcamera创建对象每次失败。

改如下方法成功。

1 创建管道

rpicam-vid -t 0 --codec mjpeg -o udp://127.0.0.1:8554 > /dev/null 2>&1

2 opencv从管道里读取

复制代码
#include <opencv2/opencv.hpp>
#include <iostream>

int main() {
    // 通过 UDP 读取视频流
//cv::VideoCapture cap("udp://127.0.0.1:8554", cv::CAP_FFMPEG);
    cv::VideoCapture cap("udp://127.0.0.1:8554", cv::CAP_FFMPEG);
    if (!cap.isOpened()) {
        std::cerr << "无法打开摄像头视频流!" << std::endl;
        return -1;
    }

    cv::Mat frame;
    while (true) {
        cap >> frame;
        if (frame.empty()) break;

        cv::imshow("Camera Stream", frame);
        if (cv::waitKey(1) == 27) break;  // 按 ESC 退出
    }

    cap.release();
    cv::destroyAllWindows();
    return 0;
}

编译

g++ camera_capture.cpp -o camera_capture pkg-config --cflags --libs opencv4

运行

sudo ./camera_capture

正常

相关推荐
无际单片机编程16 小时前
嵌入式软件OTA升级,有哪几种Flash划分方式?
单片机·嵌入式硬件·学习·嵌入式
华清远见成都中心17 小时前
如何成为一名嵌入式软件工程师?
学习·嵌入式·华清远见
FreakStudio1 天前
一文速通 Python 并行计算:07 Python 多线程编程-线程池的使用和多线程的性能评估
python·单片机·嵌入式·多线程·面向对象·并行计算·电子diy
想拿高薪的韭菜1 天前
嵌入式基础(二)ARM基础
嵌入式
庐阳寒月2 天前
linux多线(进)程编程——番外1:内存映射与mmap
linux·c语言·嵌入式
Scout-leaf2 天前
UTC时间与正常时间相互转换的shell脚本
嵌入式
政安晨2 天前
【嵌入式人工智能产品开发实战】(二十)—— 政安晨:小智AI嵌入式终端代码解读:【B】小智AI嵌入式终端OTA升级功能深度解析
c++·人工智能·嵌入式·ota·小智ai·代码解读·ai聊天助手
塞尔维亚大汉2 天前
【鸿蒙南向开发】标准系统方案之瑞芯微RK3566移植案例(下)
操作系统·嵌入式·harmonyos
别说我什么都不会3 天前
OpenHarmony 实战开发 ——轻量型系统服务管理部件
物联网·嵌入式·harmonyos
塞尔维亚大汉3 天前
【鸿蒙南向开发】标准系统方案之瑞芯微RK3568移植案例(下)
物联网·嵌入式·harmonyos