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

正常

相关推荐
blueSatchel1 小时前
关于dev下节点的创建
linux·嵌入式
我是海飞18 小时前
使用杰理 AC7925B 实现 Windows电脑 USB 副屏
windows·单片机·电脑·嵌入式·杰理
Zwawa19 小时前
PID 的三个参数之外:位置式、增量式和反馈控制
c语言·单片机·嵌入式
一直C1 天前
嵌入式 Linux 驱动开发学习笔记(三)设备树、GPIO子系统、中断与外设驱动实战
驱动开发·单片机·嵌入式硬件·嵌入式·arm·imx6ull
Oflycomm2 天前
光伏组件级快速关断的PLC通信架构与模组选型分析
架构·嵌入式·plc·光伏·电力线通信
嵌入式分享2 天前
驱动之路#05:如何调试 LCD?
嵌入式
嵌入式分享2 天前
嵌入式分享#22:嵌入式外设调试思路——MIPI CSI 调试篇
嵌入式
beluge3 天前
SPI通信
嵌入式
beluge3 天前
I2C通信
嵌入式
qq_456168284 天前
通信协议学习笔记汇总
嵌入式·开源协议