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

C#+EmguCV合并视频文件

        EmguCV是opencv的C#库,该库可以用来处理图像,还可以处理视频。以下是视频合并的方法,不过效率比较低。

/// <summary>
  /// 合并多个视频为新的视频()
  /// </summary>
  /// <param name="videoFiles"></param>
  /// <param name="newPath"></param>
  public bool MergeVideos(string[] videoFiles, string newPath)
  {
      try
      {
          VideoCapture vc = new VideoCapture(videoFiles[0]);
          int fps = (int)vc.GetCaptureProperty(CapProp.Fps);
          int width = (int)vc.GetCaptureProperty(CapProp.FrameWidth);//长
          int height = (int)vc.GetCaptureProperty(CapProp.FrameHeight);//宽
          int totalFrameCount = (int)vc.GetCaptureProperty(CapProp.FrameCount);//总帧数
          int fourcc = VideoWriter.Fourcc('M','J','P','G');
          VideoWriter videoWriter = new VideoWriter(newPath, fourcc, fps, new Size(width, height),true);
          int n = 0;
          foreach (string file in videoFiles)
          {
              if (n >= 1)
              {
                  vc.Dispose();
                  vc = new VideoCapture(file);
              }
              if (vc.IsOpened)
              {
                  int i = 0;
                  while (i < totalFrameCount)
                  {
                      i++;
                      Mat mat = new Mat();
                      vc.Read(mat);
                      if (mat != null)
                          videoWriter.Write(mat);
                  }
              }
              n++;
          }
          videoWriter.Dispose();
      }
      catch (Exception ex)
      {
          return false;
      }
      return true;
  }


http://www.kler.cn/news/313401.html

相关文章:

  • Qt Linguist 短语书批量导入翻译.ts导入.qph
  • kubernetes技术详解,带你深入了解k8s
  • 汽车应用生态系统的飞跃
  • Docker 华为云镜像加速器配置
  • Imagen架构详解:理解其背后的技术与创新
  • 大数据-138 - ClickHouse 集群 表引擎详解3 - MergeTree 存储结构 数据标记 分区 索引 标记 压缩协同
  • 锐尔15注册机 锐尔文档扫描影像处理系统15功能介绍
  • ChatGPT 4o 使用指南 (9月更新)
  • 【OceanBase诊断调优】—— 断连接问题根因分析
  • MongoDB在大数据场景应用
  • 前端动画库大比拼:为何选择Velocity.js
  • 【STM32】独立看门狗(IWDG)原理详解及编程实践(下)
  • 记录一次fs配置导致串线的问题
  • 反激电路中TL431光耦反馈参数的计算,环路设计思路
  • Vue 第三方调用若依系统实现系统单点登录
  • Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】
  • Java免税商品优选商城:Spring Boot实战
  • Redis-01 入门和十大数据类型
  • 英伟达Jim Fan预测:未来2~3年机器人将迎来“GPT-3时刻”
  • 【图像去噪】论文精读:Enhanced CNN for image denoising(ECNDNet)
  • 地图相关的系统软件及插件
  • Linux笔记---简单指令
  • 爬虫----webpack
  • ssrf攻击fastcgi复现及环境搭建
  • ITOP-2 分模块安装部署itop
  • OpenCV系列教程二:基本图像增强(数值运算)、滤波器(去噪、边缘检测)
  • jspdf踩坑 htmltocanvas
  • docker zookeeper集群启动报错:Cannot open channel to * at election address /ip:3888
  • C#身份验证那些事儿之注册服务AddAuthorization和AddAuthentication
  • tomcat的配置