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

正常

相关推荐
小仇学长2 天前
嵌入式八股文面试题(一)C语言部分
c语言·c++·面试·嵌入式·八股文
网易独家音乐人Mike Zhou3 天前
【STM32】HAL库USB虚拟U盘MSC配置及采用自带的Flash作为文件系统
stm32·单片机·mcu·性能优化·嵌入式·iot·flash
智驾3 天前
Node.js与嵌入式开发:打破界限的创新结合
node.js·嵌入式
不想写代码的我10 天前
高速PCB设计指南2——PCB设计的信号完整性
嵌入式·硬件工程·pcb设计·pcb工艺·高速pcb
浮梦终焉15 天前
【嵌入式】总结——Linux驱动开发(三)
linux·驱动开发·qt·嵌入式
年轮不改18 天前
VSCode+EIDE 环境搭建
ide·vscode·编辑器·嵌入式
国产化创客19 天前
物联网网关Web服务器--lighttpd服务器部署与应用测试
服务器·前端·物联网·嵌入式
JaneZJW19 天前
Linux C编程:文件IO(概念、打开、读、写、关闭)
linux·c语言·stm32·单片机·嵌入式
Wanliang Li20 天前
Linux电源管理——Device Power Management Interface
linux·嵌入式·virtio·电源管理·suspend