訓練家的佈弱格-Patch1.2

The BLOG of trainer



編輯日期:2024-07-31 00:54

類型:C / C++ / C# 語言
作者:羽山
文章時間:2024-07-31 00:54:07
瀏覽人數:735人
標題: 我的影片清晰機 my_cartoon_beautiful
網址:https://3wa.tw/blog/blog.php?id=2093
內容:
 

 

製作了一套 my_cartoon_beautiful 我的影片清晰機,可以把老影片變高解析度的好工具

開發動機:

前陣子在網路上發現 https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan

可以針對卡通圖片變成高解析度圖片的 project,產出的品質相當好,覺得可以整合加以利用。
轉檔速度不是很快,需要有點耐心^^...
有較好的顯卡GPU才能加快速度,初期剛使用把 3WA 早期一些老照片稍微修了一下

  Real-ESRGAN 旨在開發通用影像復原的實用演算法,特別針對動漫影像進行最佳化

拿來修一些古早卡通影像效果相當不錯

想法如下:

1. 用 ffmpeg 把影片 → 單張圖片 (一秒30幀)
2. 用 ffmpeg 把影片輸出聲音 (wav)
3. 用 Real-ESRGAN-ncnn-vulkan 把第 1 步驟作出的圖片,轉成高解析度圖片
4. 用 ffmpeg 把高解析度圖片、wav 檔合併回新影片
5. 刪除處理過程的暫存檔
6. 將以上步驟作成 C# 小程式

最近在練習 C# 單機程式開發,當作練習作業

版權:

完全免費的 MIT-License


最初開發日期:

2024-07-28

原始碼在 github

https://github.com/shadowjohn/my_cartoon_beautiful

 

 

產出結果

 

FB 看到的影片:本田小狼經典飆車畫面,轉檔前

 

本田小狼經典飆車畫面,轉檔後

細條變得更加清晰,不過有些鉛筆感的細節也稍微失去

 

2004 年阿山典藏的 akite rmvb 檔...

 

 然後這是清晰後的畫面,線條邊緣、文字,都變得相當清楚

 

開發心得:

雖然只是用 C# 寫一層皮去呼叫 ffmpeg 與 Real-ESRGAN-ncnn-vulkan,過程也是中了不少混亂,最大的混亂是花了很多時間才發現是因為 ffmpeg 版本過舊,透過 C# 使用 process.start 呼叫外部指令,經過一段時間後會自己掛掉,但在 cmd 手動執行 ffmpeg 又可以順利跑完,嘗試了各種 process 寫法,且把 ffmpeg -progress dump 出去,或是自行計算已處理的 frame 數,最終仍被莫明奇妙的 freezes 卡死,萬念俱灰下把 ffmpeg 更新到新版,就可以順利完成了~~~(撒花)

花了幾個晚上,寫了一個簡單易用的轉檔工具,覺得心情大好~

 

轉檔速度參考:

3WA 的主機 (Linux) AMD Ryzen 3 4100  + Nvidia 1050ti 轉 30 分鐘的卡通,大概要 4 小時

羽山桌機 (Win11) Intel(R) Xeon(R) CPU E5-2680 v4 + Nvidia GTX 1080 同樣影片,大概 2 小時

轉檔過程轉成圖片,會佔用相當大的硬碟空間~最好在空間較大的硬碟處理

以前典藏的卡通,轉成較好的畫質回味回味

使用方法:

1. 選擇來源影像
2. 選擇要存在哪
3. 選擇影像放大倍數 x2 x3 x4 (越大越久...,羽山是都用 x2 而已)
4. 按下開始轉檔,等待成果

 

程式相依套件:

1. ffmpeg windows binary static (ffmpeg version N-116451-ge7d3ff8dcd-20240729)
2. realesrgan-ncnn-vulkan (v0.2.0-windows)
3. windows .net framework 4.6.2

 

版本說明:

在 github 維護說明

 

參考資料:

1. ffmpeg: https://www.ffmpeg.org/download.html
2. realesrgan-ncnn-vulkan: https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan

 

特別感謝:

感謝田老師跟 Rickz 大半夜不睡幫忙測試 debug XD

首頁  上十頁  上一頁  1 下一頁    最末頁 (總共有...1頁)

第 1 頁

有話要說  看留言 【0】
其他分類
當月訓練
(2024-07-31)
【C / C++ / C# 語言】我的影片清晰機 my_cartoon_beautiful

(2024-07-24)
【KTM 390】KTM Duke390 整理後煞總成

(2024-07-16)
【Arduino】(Arduino D1 mini) 這是一個引擎轉速在拉轉,安全帽上的燈條也在拉轉的故事...

(2024-07-15)
【Python 程式】my_cam_py 我的桌面錄影

(2024-07-07)
【Arduino】(ATtiny85) 屁孩限定藍光呼吸燈安全帽

最新訓練
(2024-09-15)
【FZR 150】FZR維修-大閔廢鐵號

(2024-09-11)
【遊戲 / 生活】更換新的濾水器水龍頭

(2024-09-04)
【NSR 150】NSR150 大燈燈炮更換

(2024-09-01)
【KTM 390】KTM Duke 390 安裝空濾盒、水箱水、油箱、試發動

(2024-08-31)
【KTM 390】KTM Duke 390 引擎上車、節流閥安裝、空濾盒修補、單向閥思考

(2024-08-30)
【機車綜合相關】買了一組盜版牧田DTW1002

(2024-08-25)
【KTM 390】KTM Duke 390 汽門間隙檢查、凸輪軸安裝、汽缸蓋、機油壓力開關

(2024-08-24)
【KTM 390】KTM Duke 390更換內鏈排骨

(2024-08-17)
【KTM 390】KTM Duke 390內鏈排骨問題查修-清洗篇

(2024-08-10)
【KTM 390】KTM Duke 390內鏈排骨問題查修-中(落引擎)