二十三节补充

embedded/2024/10/21 19:43:56/

考虑如何在不添加公共端demo的情况下同时保存两个视频


更改公共端demo

public:
    void video1_demo(Mat& image); 
    struct TwoImages {
        Mat img1;
        Mat img2;
    };
    TwoImages colorSpace_Demo(Mat& image);


将刚刚修改的demo运用到调用的需要调用的位置

QUickdemo::TwoImages
QUickdemo::colorSpace_Demo(Mat&image)
{
    Mat gray, ksv;
    cvtColor(image, ksv, COLOR_BGR2HSV);
    cvtColor(image, gray, COLOR_BGR2GRAY);
    TwoImages result;
    result.img1 = ksv;
    result.img2 = gray;
    imshow("HsV", ksv);
    imshow("灰度", gray);
    return result;
    
    //imwrite("C:/images/ksv.png", ksv);
    //imwrite("C:/images/grav.png", gray);
}


修改代码

void QUickdemo::video1_demo(Mat& image)
{
    VideoCapture capture("C://images//video//p1.mp4");
    int frame_width = capture.get(CAP_PROP_FRAME_WIDTH);
    int frame_height = capture.get(CAP_PROP_FRAME_HEIGHT);
    int count = capture.get(CAP_PROP_FRAME_COUNT);
    double fps = capture.get(CAP_PROP_FPS);
    std::cout<<"frame width:" << frame_width << std::endl;
    std::cout << "frame height:" << frame_height << std::endl;
    std::cout << "FPS:" << fps << std::endl;
    std::cout << "Number:" << count << std::endl;
    VideoWriter writer("C://images//video//p21.mp4",capture.get(CAP_PROP_FOURCC), fps, Size(frame_width, frame_height), true);
    VideoWriter writer2("C://images//video//p3.mp4", capture.get(CAP_PROP_FOURCC), fps, Size(frame_width, frame_height), true);
    Mat frame;
    while (true) {
        capture.read(frame);
        flip(frame, frame, 1);
        
        if (frame.empty()){
            break;

        }
        imshow("frame", frame);
        capture.read(frame);
        TwoImages image = colorSpace_Demo(frame);
        //1t=colorSpace_Demo(frame);
        
        writer.write(image.img1);
        writer2.write(image.img2);
        int c = waitKey(50);
        if (c == 27) {
            break;

        }

    }

    capture.release();
    writer.release();
    

}


http://www.ppmy.cn/embedded/129348.html

相关文章

nginx中的HTTP 负载均衡

HTTP 负载均衡&#xff1a;如何实现多台服务器的高效分发 为了让流量均匀分配到两台或多台 HTTP 服务器上&#xff0c;我们可以通过 NGINX 的 upstream 代码块实现负载均衡。 方法 在 NGINX 的 HTTP 模块内使用 upstream 代码块对 HTTP 服务器实施负载均衡&#xff1a; upstr…

项目管理PMP入门,2024新手没工具怎么成大神?

&#xff08;三&#xff09;PMP 的价值 PMP 证书的价值在多个方面得以体现。在就业方面&#xff0c;许多大型企业将 PMP 证书作为招聘项目管理相关人才的优先考虑条件&#xff0c;甚至有些企业要求公司高层必须考取该证书&#xff0c;成为进入这些企业的 “敲门砖”。同时&…

Python基础语法-列表与元组

列表与元组 在编程中&#xff0c;经常需要使用变量来保存数据&#xff0c;如果数据比较少&#xff0c;我们创建几个变量也就算了&#xff0c;那如果数据很多呢。 甚至有些时候数据多到你都不清楚到底有多少&#xff0c;那么就需要使用到列表了。 列表是一种让程序员再代码中批…

【H2O2|全栈】更多关于HTML(2)HTML5新增内容

目录 HTML5新特性 前言 准备工作 语义化标签 概念 新内容 案例 多媒体标签 音频标签audio 视频标签 video 新增部分input表单属性 预告和回顾 后话 HTML5新特性 前言 本系列博客是对入门专栏的HTML知识的补充&#xff0c;并伴随一些补充案例。 这一期主要介绍H…

Gitlab 完全卸载–亲测可行

1、停止gitlab gitlab-ctl stop2.卸载gitlab&#xff08;注意这里写的是gitlab-ce&#xff09; rpm -e gitlab-ce 3、查看gitlab进程 ps aux | grep gitlab 4、杀掉第一个进程&#xff08;就是带有好多.............的进程&#xff09; 5、删除所有包含gitlab文件 find / …

Ollama部署700亿参数大模型Llama3

Ollama部署700亿参数大模型Llama3 前言一、安装Ollama二、运行Llama3:70b 前言 首先&#xff0c;70b表示700亿参数&#xff0c;模型文件就有40G&#xff0c;一般的电脑是运行不了的&#xff0c;所以GPU 私有化部署大模型最佳解决方案 Ollama &#xff08;8B&#xff09;模型 …

GEE Python:利用Python API实现Sentinel-1、2和Landsat-8、9的可用影像数量

目录 简介 参数 Python代码 Python内置函数 简介 生成以下卫星图像集合的可用性图表: 1. 哨兵-1 2. 哨兵-2 3. Landsat-8 4. Landsat-9 参数 startDate(开始日期 图像集合的开始日期。格式为 YYYY-MM-DD endDate:结束日期: 图像集的结束日期。格式: YYYY-MM-DD 年-月…

Qt 窗口悬停事件和鼠标跟踪

悬停事件 //这行代码用于启用窗口部件&#xff08;widget&#xff09;的悬停事件跟踪功能。 setAttribute(Qt::WA_Hover, true); 作用 setAttribute(Qt::WA_Hover, true); 这行代码的作用是设置窗口部件的一个属性标志&#xff0c;使其能够接收悬停事件&#xff08;hover eve…