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

正常

相关推荐
鑫宇吖1 天前
IAR编辑器如何让左侧的工具栏显示出来?
编辑器·嵌入式·c·iar
飞凌嵌入式1 天前
飞凌嵌入式亮相第九届瑞芯微开发者大会:AIoT模型创新重做产品
人工智能·嵌入式硬件·嵌入式·飞凌嵌入式
凉、介2 天前
ARM 学习笔记(四)
c语言·arm开发·笔记·学习·嵌入式
Logcater2 天前
Linux和Windows基于V4L2和TCP的QT监控
linux·c++·qt·嵌入式·camera·v4l2
WKJay3 天前
深入理解 Cortex-M3 的内核寄存器组
嵌入式
凉、介3 天前
ARM 学习笔记(三)
arm开发·笔记·学习·嵌入式
DIY机器人工房3 天前
关于针对 DT_REG 出现红色波浪线的问题(编译错误/IDE警告),以下是 精准解决方案,保持你的代码功能完全不变:
ide·vscode·stm32·嵌入式硬件·嵌入式·diy机器人工房
linux开发之路4 天前
rk平台(rv1126/rk3588)音视频-交叉编译FFmpeg7.1
c++·ffmpeg·音视频·嵌入式·rv1126/rk358
楚潸潸4 天前
交叉编译opencv(Cpp)于arm64架构开发板上
人工智能·opencv·计算机视觉·嵌入式
gyggzg5 天前
一个适合MCU的分级菜单框架
单片机·ui·嵌入式