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

正常

相关推荐
iCxhust1 天前
【无标题】8086/8088裸机对于学习微机原理的重要意义
汇编·单片机·嵌入式硬件·嵌入式·微机原理
左手厨刀右手茼蒿2 天前
Linux 内核中的设备驱动开发:从字符设备到网络设备
linux·嵌入式·系统内核
吃米饭2 天前
HC32L021C8UB 移植 FreeRTOS
stm32·嵌入式·freertos·rtos
2023自学中3 天前
make clean 与 make distclean
linux·嵌入式
栈时没有名字3 天前
git仓库管理,commit或push上传服务器失败问题
git·嵌入式
CodeQingqing3 天前
反汇编在嵌入式的使用
stm32·嵌入式·反汇编
济6173 天前
FreeRTOS 控制任务设计 (3)--- 闭环控制验证:仿真电机模型与软反馈实现
嵌入式·freertos
凉、介3 天前
C 语言类型强转引发的隐蔽内存破坏问题分析
c语言·开发语言·笔记·学习·嵌入式
嵌入式小企鹅4 天前
嵌入式面试宝典
学习·面试·嵌入式·嵌入式工程师·高薪offer
星瞳科技OpenMV4 天前
国家级高新技术企业星瞳科技,定义嵌入式机器视觉行业新标杆
人工智能·嵌入式·图像识别·机器视觉·openmv·星瞳科技·星瞳科技openmv