当前位置: 首页 > article >正文

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

正常


http://www.kler.cn/a/536199.html

相关文章:

  • 高端入门:Ollama 本地高效部署DeepSeek模型深度搜索解决方案
  • 第6章《VTK与Qt集成》
  • 1-kafka服务端之延时操作前传--时间轮
  • 红包雨项目前端部分
  • 探索 GraphQL:API 设计的未来趋势
  • 足球俱乐部管理系统的设计与实现
  • Junit5使用教程(6)--高级特性2
  • HTML学习之CSS三种引入方式
  • 基于JavaWeb开发的java Springboot实现教务管理系统
  • 介绍10个比较优秀好用的Qt相关的开源库
  • Linux后台运行进程
  • 网络安全 | 什么是XSS跨站脚本攻击?
  • 如何利用 Python 爬虫按关键字搜索淘宝商品
  • C++基础系列【5】namespace using
  • JAVA异步的TCP 通讯-客户端
  • 【STM32系列】利用MATLAB配合ARM-DSP库设计FIR数字滤波器(保姆级教程)
  • Shell-变量及注释
  • Qt修仙之路2-1 炼丹初成
  • JS的几种具体异常类型(报错)
  • 半导体物理与器件篇8 光电器件
  • elementui:el-table支持搜索、切换分页多选功能,以及数据回显
  • 如何使用Python的Matplotlib绘制图表?
  • 计算机毕业设计hadoop++hive微博舆情预测 微博舆情分析 微博推荐系统 微博预警系统 微博数据分析可视化大屏 微博情感分析 微博爬虫 知识图谱
  • 机器学习数学基础:15.分块矩阵
  • 函数式接口@FunctionalInterface
  • 如何优化爬虫以提高搜索效率