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

正常

相关推荐
小森77673 小时前
(九)PMSM驱动控制学习---分流电阻采样及重构
stm32·嵌入式·电机控制·foc·永磁同步电机·pmsm·电流采样
FreakStudio5 小时前
一文速通Python并行计算:10 Python多进程编程-进程之间的数据共享-基于共享内存和数据管理器
python·嵌入式·多线程·多进程·线程同步
买辣椒用券1 天前
ESP32开发入门(七):HTTP开发实践
网络协议·嵌入式
憧憬一下2 天前
stm32之USART
stm32·单片机·嵌入式硬件·串口·嵌入式·usart
憧憬一下3 天前
stm32之DMA
stm32·单片机·嵌入式硬件·嵌入式
憧憬一下5 天前
stm32之输出比较OC和输入捕获IC
stm32·单片机·嵌入式硬件·嵌入式
憧憬一下5 天前
stm32之TIM定时中断详解
stm32·单片机·嵌入式·定时器
旅行的橘子汽水6 天前
【FreeRTOS-时间管理】
c语言·嵌入式·freertos
旅行的橘子汽水6 天前
【FreeRTOS-列表和列表项】
c语言·stm32·嵌入式·freertos
做一道光8 天前
STM32复盘总结——芯片简介
stm32·单片机·嵌入式