写作原因:前段时间做图像识别,一朋友用python将一张图片合成了一段视频,用于测试使用,先就c#做一个图片转视频的记录,使用的是Opencvsharp,如有不对的地方,请多多指教。

一、准备

需要使用到的对象为VideoWriter

 其中重载函数有好几个,用来对应不同的需求。

二、参数解释

参数由很多,笔者用下面这个重载函数对这些参数做讲解

        /// <summary>/// Creates video writer structure. /// </summary>/// <param name="fileName">Name of the output video file. </param>/// <param name="fourcc">4-character code of codec used to compress the frames. For example, "PIM1" is MPEG-1 codec, "MJPG" is motion-jpeg codec etc. /// Under Win32 it is possible to pass null in order to choose compression method and additional compression parameters from dialog. </param>/// <param name="fps">Frame rate of the created video stream. </param>/// <param name="frameSize">Size of video frames. </param>/// <param name="prms">The `params` parameter allows to specify extra encoder parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, ... .)/// see cv::VideoWriterProperties</param>/// <returns></returns>public VideoWriter(string fileName, FourCC fourcc, double fps, Size frameSize, int[] prms){FileName = fileName ?? throw new ArgumentNullException(nameof(fileName));Fps = fps;FrameSize = frameSize;NativeMethods.HandleException(NativeMethods.videoio_VideoWriter_new4(fileName, (int)fourcc, fps, frameSize, prms, prms.Length, out ptr));if (ptr == IntPtr.Zero)throw new OpenCvSharpException("Failed to create VideoWriter");}

fileName:就是生成的视频文件的名字,可由使用者自定义。

fourcc:使用的图片格式,像mjpg。

fps:设置生成的视频的帧率。

frameSize:生成的视频每一帧的大小。

prms:其他的一些参数,像编码格式等,由使用者自定义。

三、代码

            Mat SourceMat = Cv2.ImRead(@"F:\Media\1018_2.png");//方法1Size imgSize = new Size(SourceMat.Width, SourceMat.Height);//构造函数设置必要参数//VideoWriter videoWriter = new VideoWriter(outVideo, VideoWriter.FourCC(@"MPG4"), 20, imgSize, true);VideoWriter videoWriter = new VideoWriter(@"F:\out.avi", VideoWriter.FourCC(@"XVID"), 20, imgSize, true);for (int i = 1; i <= 500; i++){Mat mat = new Mat();string FileString = @"F:\Media\1018_2.png";//FileString = FileString + i.ToString() + ".jpg";mat = Cv2.ImRead(FileString);if (!mat.Empty()){//Cv2.ImShow("Image", mat);videoWriter.Write(mat);Cv2.WaitKey(0);}}

这里面需要注意的是构造函数中的参数一定要对,不然可能生不成视频或生成后打不开。

不过这里有个问题,就是这个out.avi有大小也可以正常播放,但是会发现这个视频的时长是0,用迅雷播放器播放不会有走秒

用系统自带的Media Player可以看到视频在走秒

不知道是哪里的问题,有知道的大神忘能指导一二。

3 、OpenCvSharp 图片转视频相关推荐

  1. 借助深度卷积神经网络对图片 GIF 视频进行超分辨率放大(即放大与降噪) 以及 对视频进行 插帧(即补帧).

    借助深度卷积神经网络对图片 & GIF & 视频进行超分辨率放大(即放大与降噪) 以及 对视频进行 插帧(即补帧). 软件下载地址:下载地址 界面效果: 处理效果: 图像清晰化 图像放 ...

  2. android获取图片缩略图,Android系获取图片和视频的缩略图

    获取手机里视频缩略图: public static Bitmap getVideoThumbnail(ContentResolver cr,Uri uri) { Bitmap bitmap = nul ...

  3. 【深度学习】深入浅出YOLOv3目标检测算法和实现(图片和视频)

    [深度学习]深入浅出YYOLOv3目标检测算法(图片和视频) 文章目录 1 概述 2 一个全卷积神经网络--Darknet-53 3 解释输出 4 代码实现4.1 导入项目4.2 执行脚本4.3 预测 ...

  4. 通过python建立一个web服务查看服务器上的文本、图片、视频等文件

    通过python建立一个web服务查看服务器上的文本.图片.视频等文件 文章目录: 1 在服务器端开启一个服务 2 在本地浏览器中输入服务器的ip地址 1 在服务器端开启一个服务 python -m ...

  5. jQuery 人脸识别插件,支持图片和视频

    jQuery Face Detection 是一款人脸检测插件,能够检测到图片,视频和画布中的人脸坐标.它跟踪人脸并输出人脸模型的坐标位置为一个数组.我们相信,面部识别技术能够给我们的 Web 应用带 ...

  6. WeChat之小工具:基于C++程序代码设计的查看微信撤销、撤回消息(包括文本、图片、视频等)GUI小工具

    WeChat之小工具:基于C++程序代码设计的查看微信撤销.撤回消息(包括文本.图片.视频等)GUI小工具 导读      哈哈,千万不要给程序猿随便发信息,程序猿认真起来,别说你发的微信信息,就连你 ...

  7. Android之获取手机上的图片和视频缩略图thumbnails

    2019独角兽企业重金招聘Python工程师标准>>> [0]大家都知道Android从1.5开始刚插入SD卡时系统会调用MediaScanner服务进行后台扫描,索引新的歌曲.图片 ...

  8. Win隐藏 Win10 中的3D对象、文档、音乐、图片、视频、下载、桌面7个文件夹

    Windows 10 的 3D对象.文档.音乐.图片.视频.下载.桌面 这7个自作多情的文件夹,不过出现在[此电脑]里面,还出现在[另存为]对话框里面,烦死了,让它消失! 以下代码保存为 reg 文件 ...

  9. android 分享图片和视频

    今天,简单讲讲如何调用手机的分享功能进行分享. 目前实现一键分享功能的方式有两种: 1.需要集成第三方官方SDK包,在获得官方授权后调用其API来完成一键分享功能,例如使用友盟分享等     优点:无 ...

最新文章

  1. Matlab程序咨询,书上程序4-5问题咨询
  2. FLV文件中VideoPacket的详解
  3. window10 mysql5.7 解压版 安装
  4. P1144 最短路计数
  5. BZOJ 1013 球形空间产生器
  6. (翻译)从底层了解ASP.NET体系结构 [转]
  7. 几种有趣的Magic Matrix
  8. Properties 类的详细使用(十三)
  9. 乐橙tp1 html调用,乐橙TP1的妙用
  10. 电脑连接SONY蓝牙耳机没有声音
  11. 推挽电路整理-三极管推挽电路
  12. sa登录失败,错误代码18456
  13. 脚本小子_Lua函数
  14. magisk卸载内置软件_Win10自带软件怎么卸载 Win10自带软件卸载方法【详细教程】...
  15. ERROR: No matching distribution found for cv2解决方案
  16. 人工智能电话机器人的功能
  17. 企业青睐什么样的产品经理
  18. 入侵特斯拉汽车Model S 信息娱乐系统漏洞
  19. C++ 标准容器库小结
  20. python人脸识别门禁_Python+Opencv+Tkinter指纹识别与人脸识别的门禁兼考勤(一)

热门文章

  1. 201871010104-陈园园 《面向对象程序设计(java)》第四周学习总结
  2. 广州服务器哪个区最多,广州11区人口排行榜,最多人的区域竟是这!
  3. html点击链接直接加微信群,微信给文字加链接代码分享(原来微信超链接是这样加的)...
  4. Unity Run Time Gizmos
  5. POJ - 2955 Brackets (区间DP)
  6. 命令提示符(cnd)
  7. MTK Secure Boot 2.1详细配置方案-终极版
  8. 原来开车和写博客是很相似的心理变化过程
  9. git clone时提示,git remote: HTTP Basic: Access denied 错误
  10. 双硬盘安装双系统(win10+ubuntu14.04)