树莓派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

正常

相关推荐
文火冰糖的硅基工坊3 小时前
[嵌入式系统-136]:主流AIOT智能体软件技术栈
嵌入式硬件·架构·嵌入式·cpu·gpu
YuCaiH3 小时前
网络编程的基础知识
linux·笔记·嵌入式·网络通信
大聪明-PLUS5 小时前
从头开始为 ARM 创建 Ubuntu 映像
linux·嵌入式·arm·smarc
大聪明-PLUS15 小时前
QEMU:如何组织与 I2C 设备的透明交互
linux·嵌入式·arm·smarc
jz_ddk17 小时前
[LVGL] 从0开始,学LVGL:进阶应用与项目实战(上)
linux·信息可视化·嵌入式·gui·lvgl·界面设计
jz-炸芯片的zero21 小时前
【Zephyr电源与功耗专题】15_功耗优化测试工具与手段
嵌入式·zephyr·功耗
文火冰糖的硅基工坊1 天前
[嵌入式系统-134]:智能体以及其嵌入式硬件架构
科技·嵌入式硬件·架构·嵌入式·gpu
大聪明-PLUS2 天前
关于新的 Linux 内核接口 gpio uapi 的说明
linux·嵌入式·arm·smarc
Truffle7电子2 天前
STM32理论 —— 存储、中断
stm32·嵌入式硬件·嵌入式·存储·中断
文火冰糖的硅基工坊2 天前
[嵌入式系统-123]:中高端图形处理器RM Mali-G610 MP4 GPU 是 ARM 公司推出的基于 Valhall 架构 的移动 GPU
arm开发·ai·架构·嵌入式·gpu