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

正常

相关推荐
Ch_champion3 小时前
嵌入式研发人员的共享盘文件目录-分享
嵌入式
凉、介1 天前
静态路由探究
网络·笔记·操作系统·嵌入式
网易独家音乐人Mike Zhou1 天前
【RealMCU】瑞昱官方LOG信息保存及解析,DebugAnalyzer自动化接收脚本(不需要用到ROM.trace文件)
单片机·mcu·物联网·自动化·嵌入式·iot·瑞昱
charlie1145141912 天前
嵌入式C++教程——ETL(Embedded Template Library)
开发语言·c++·笔记·学习·嵌入式·etl
良许Linux2 天前
51单片机都有哪些优缺点
单片机·程序员·嵌入式·编程
嵌入小生0072 天前
数据结构 | 常用排序算法大全及二分查找
linux·数据结构·算法·vim·排序算法·嵌入式
梵刹古音3 天前
【C语言】 结构化编程与选择结构
c语言·开发语言·嵌入式
百锦再3 天前
《C#上位机开发从门外到门内》2-7:网络通信(TCP/IP、UDP)
tcp/ip·udp·c#·嵌入式·上位机·通信·下位机
嵌入小生0073 天前
数据结构与算法 | 完全二叉树的实现、哈希表的实现
linux·c语言·数据结构·算法·vim·嵌入式
梵刹古音5 天前
【C语言】 浮点型(实型)变量
c语言·开发语言·嵌入式