实例介绍
【实例截图】
WPF .net 6编写。
适用于1080p、720p、540p的视频。
程序封装ffmpeg,使用OpenCv超分辨率模型。
方法是:取得视频全部帧最高质量图像,再将帧图像进行超分辨率处理,再将处理过的帧图像写入视频。
针对不同的分辨率视频,可以修改程序 Video_Helper.cs的第253行
Mat result = Function.UpscaleImage(blurryImage, "espcn", Environment.CurrentDirectory @"\App\ESPCN_x2.pb", 2);
1080p的视频使用(...X2.pb,2);为放大2倍,
720p的视频使用(...X3.pb,3);为放大3倍,
540p的视频使用(...X4.pb,4);为放大4倍,
程序提供多个模型,可以自己试一下效果:
ESPCN_x2.pb
ESPCN_x3.pb
ESPCN_x4.pb
FSRCNN-small_x2.pb
FSRCNN-small_x3.pb
FSRCNN-small_x4.pb
FSRCNN_x2.pb
FSRCNN_x3.pb
FSRCNN_x4.pb
可以访问OpenCv网站了解,对模型进行训练,达到更进一步的效果。
在程序中,原本可以采用管道进行byte操作,不用生成各种临时文件,但在实际测试中,通过byte进行超分辨率处理,效果比较差,只好采用生成图像文件的方式进行。
程序运行后,按照按钮顺序一步一步点击就可以了。
提取的原始帧图像在Source_Frames文件夹,生成的帧图像在Upscale_Frames里面,可以比照查看。
对ffmpeg命令行操作只是初步了解,可能一些指令或方式有误,程序仅供参考,如有错误自行修正。如程序方向有误,略过就好。
需要的Dll以及相关组件已经全部安装好了,可以直接重新编译就。生成的视频文件在当前文件夹内。视频太大处理慢,不好测试,这里附带一个1080p的小视频可以进行测试。
注意:如果视频非标准大小的,须修改程序相应参数,重新编译,否则会出现问题。
其他操作可以参考前一篇:https://www.haolizi.net/example/view_314745.html
1080p
扩展放大后
可以把上面几个模型试一下,看那个效果最好,或者在网上找些训练好的模型再试一试。
.
├── 1080p_demo.mp4
├── C# 视频转换为4K分辨率(适用1080p、720p、540p).rar
└── c4k
├── c4k
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── AssemblyInfo.cs
│ ├── Function.cs
│ ├── MainWindow.xaml
│ ├── MainWindow.xaml.cs
│ ├── Video_Helper.cs
│ ├── bin
│ │ └── Debug
│ │ └── net6.0-windows
│ │ ├── App
│ │ │ ├── ESPCN_x2.pb
│ │ │ ├── ESPCN_x3.pb
│ │ │ ├── ESPCN_x4.pb
│ │ │ ├── FSRCNN-small_x2.pb
│ │ │ ├── FSRCNN-small_x3.pb
│ │ │ ├── FSRCNN-small_x4.pb
│ │ │ ├── FSRCNN_x2.pb
│ │ │ ├── FSRCNN_x3.pb
│ │ │ ├── FSRCNN_x4.pb
│ │ │ ├── ffmpeg.exe
│ │ │ ├── ffplay.exe
│ │ │ └── ffprobe.exe
│ │ ├── OpenCvSharp.dll
│ │ ├── OpenCvSharpExtern.dll
│ │ ├── Source_Frames
│ │ ├── Upscale_Frames
│ │ ├── c4k.deps.json
│ │ ├── c4k.dll
│ │ ├── c4k.exe
│ │ ├── c4k.pdb
│ │ └── c4k.runtimeconfig.json
│ ├── c4k.csproj
│ ├── c4k.csproj.user
│ └── obj
│ └── Debug
│ └── net6.0-windows
└── c4k.sln
11 directories, 31 files
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论