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

正常

相关推荐
闻道且行之12 小时前
嵌入式|Linux中打开视频流的两种方式V4l2和opencv
linux·笔记·opencv·嵌入式
我是海飞13 小时前
Tensorflow Lite 的yes/no语音识别音频预处理模型训练教程
python·学习·tensorflow·音视频·嵌入式·语音识别
BoredWait2 天前
rust 嵌入式esp23 《直流电机》
rust·嵌入式
DIY机器人工房3 天前
问题解决方法:qt的设计师页面怎么开启scroll area组件的滚轮功能
qt·嵌入式·diy机器人工房
BoredWait4 天前
rust 嵌入式esp23 《点灯》
rust·嵌入式
华清远见IT开放实验室4 天前
喜讯!华清远见参与制定的《电子产品印制电路板可制造性设计(DFM)和可靠性设计规范》正式发布
stm32·嵌入式·制造·设计规范·电子电路
DebugKitty4 天前
硬件开发1-51单片机1
单片机·嵌入式硬件·51单片机·嵌入式·ram·rom·按位运算
逼子格4 天前
【Proteus仿真】8*8LED点阵控制系列仿真——循环显示数字/按键控制显示图案
单片机·嵌入式硬件·proteus·嵌入式·定时器·硬件工程师·led点阵
酷飞飞4 天前
STC8单片机矩阵按键控制的功能实现
单片机·嵌入式硬件·51单片机·嵌入式·stc8
BoredWait5 天前
rust 嵌入式esp23 《hello word》
嵌入式