tim6676
Любитель
- Total Posts : 280
- Scores: 130
- Joined: 2020/09/19 03:16:54
- Location: Кострома
- Status: offline
Re: Улучшение изображения с помощью нейросетей
2022/04/04 13:09:02
(ссылка)
hdmaniac Да, с меню было бы замечательно. Красная палатка просто супер с меню получилась...
Genik07 Супер! Очень нужно. Меню не обязательно. Мне кажется что для большинства сейчас это лишнее.
Хорошо, сделаю с меню, раз оно тоже потребно. Только времени надо по-больше. Genik07 Если не сложно приложите пожалуйста скрипт. Вижу что там не только стабилизация была. Ваши скрипты очень полезны для понимания проделанной работы.
На самом деле, там всё довольно сложно. Сначала в XviD4PSP 5 я подбирал нужные фильтра для шумоподавления и яркостной стабилизации, делал объединённый скрипт и запускал его в VirtualDub, для стабилизации в двухпроходном плагине Deshaker. Стабилизация целиком всего фильма не возможна. Разные участки фильма требуют разных настроек стабилизатора, которые нужно ещё правильно подобрать. В итоге у Вас получиться большое количество стабилизированных отрывков фильма, из которых потом собирается весь фильм. Я уже приводил когда-то пример скрипта, ну вот к примеру:
Скрипт 3-й серии
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\AudioFunctions.avs") Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\VideoFunctions.avs") LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\SplineResize.dll") A = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\1.avi", audio=false) A1 = Trim(A, 0, 2461) B = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\3 серия_04.avi", audio=false) B1 = Trim(B, 2462, 6745) A2 = Trim(A, 6746, 10856) C = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\в вмашине 3.avi", audio=false) C1 = Trim(C, 57, 300) D = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\основной.avi", audio=false) D1 = Trim(D, 11101, 11393) E = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\в машине 3.avi", audio=false) E1 = Trim(E, 323, 2093) A3 = Trim(A, 13165, 13782) F = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\в машине22.avi", audio=false) F1 = Trim(F, 106, 1060) A4 = Trim(A, 14738, 22760) L = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\gjbcr.avi", audio=false) L1 = Trim(L, 35, 2702) H = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\РАЦИЯ.avi", audio=false) H1 = Trim(H, 21, 5377) D2 = Trim(D, 30786, 33355) K = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\МАГЕЛЬ.avi", audio=false) K1 = Trim(K, 26, 2333) D3 = Trim(D, 35664, 37356) A5 = Trim(A, 37357, 56188) M = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\мерцание.avi", audio=false) M1 = Trim(M, 39, 1997) X = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\eeeeeeeeeeeeeeeeeee.avi", audio=false) X1 = Trim(X, 5, 519) M2 = Trim(M, 2513, 4923) A6 = Trim(A, 61074, 64325) N = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\допрос.avi", audio=false) N1 = Trim(N, 1, 1946) O = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\1проба.avi", audio=false) O1 = Trim(O, 44, 1022) N2 = Trim(N, 2926, 9667) A7 = Trim(A, 73993, 77667) D4 = Trim(D, 77668, 93960) P = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\ХРОНИКА.avi", audio=false) P1 = Trim(P, 46, 1460) D5 = Trim(D, 95376, 96373) Q = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ТРЕТЬЯ СЕРИЯ\РАБОТА.avi", audio=false) Q1 = Trim(Q, 1004, 4993) A8 = Trim(A, 100364, 107925) A1 ++ B1 ++ A2 ++ C1 ++ D1 + E1 ++ A3 ++ F1 ++ A4 ++ L1 ++ H1 ++ D2 ++ K1 ++ D3 ++ A5 ++ M1 ++ X1 ++ M2 ++ A6 ++ N1 ++ O1 ++ N2 ++ A7 ++ D4 ++ P1 ++ D5 ++ Q1 ++ A8 ConvertToYV12() Tweak(hue=0, sat=0.0, bright=0, cont=1.00, coring=true, dither=false) ###[FILTERING]### ###[FILTERING]###
Спрятать
Скрипт 5-й серии
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\AudioFunctions.avs") Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\VideoFunctions.avs") LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\SplineResize.dll") N = AVISource("E:\Temp\ПРОБЫ ОМЕГА\ВТОРАЯ СЕРИЯ\алтернот 1-2.avi", audio=false) N1 = Trim(N, 0, 374) A = AVISource("E:\Temp\ПРОБЫ ОМЕГА\Пятая серия\5 СЕРИЯ.avi", audio=false) A1 = Trim(A, 375, 13560) B = AVISource("E:\Temp\ПРОБЫ ОМЕГА\Пятая серия\2-2серия_T04.avi", audio=false) B1 = Trim(B, 17, 722) C = AVISource("E:\Temp\ПРОБЫ ОМЕГА\Пятая серия\ПЯТАЯ СЕРИЯ.avi", audio=false) C1 = Trim(C, 14267, 17117) D = AVISource("E:\Temp\ПРОБЫ ОМЕГА\Пятая серия\руки2_T04.avi", audio=false) D1 = Trim(D, 18, 785) C2 = Trim(C, 17886, 22100) E = AVISource("E:\Temp\ПРОБЫ ОМЕГА\Пятая серия\картина2.avi", audio=false) E1 = Trim(E, 21, 1259) C3 = Trim(C, 23340, 25685) A2 = Trim(A, 25686, 28764) F = AVISource("E:\Temp\ПРОБЫ ОМЕГА\Пятая серия\5серия_T04.avi", audio=false) F1 = Trim(F, 28765, 31534) C4 = Trim(C, 31535, 36334) G = AVISource("E:\Temp\ПРОБЫ ОМЕГА\Пятая серия\машина3 .avi", audio=false) G1 = Trim(G, 14, 416) F2 = Trim(F, 36738, 44055) C5 = Trim(C, 44056, 49526) H = AVISource("E:\Temp\ПРОБЫ ОМЕГА\Пятая серия\магель.avi", audio=false) H1 = Trim(H, 5, 784) F9 = Trim(F, 50307, 53020) J = AVISource("E:\Temp\ПРОБЫ ОМЕГА\Пятая серия\IKJCCTH.avi", audio=false) J1 = Trim(J, 9, 706) F3 = Trim(F, 53719, 60575) K = AVISource("E:\Temp\ПРОБЫ ОМЕГА\Пятая серия\СНЕГ.avi", audio=false) K1 = Trim(K, 1, 1576) F4 = Trim(F, 62152, 78307) L = AVISource("E:\Temp\ПРОБЫ ОМЕГА\Пятая серия\ПОСЛЕДНИЙ СНЕГ.avi", audio=false) L1 = Trim(L, 8, 1912) F5 = Trim(F, 80213, 85401) A3 = Trim(A, 85402, 85997) F6 = Trim(F, 85998, 93248) A4 = Trim(A, 93249, 93482) F7 = Trim(F, 93483, 95371) C6 = Trim(C, 95372, 95887) F8 = Trim(F, 95888, 103299)
N ++ A1 ++ B1 ++ C1 ++ D1 ++ C2 ++ E1 ++ C3 ++ A2 ++ F1 ++ C4 ++ G1 ++ F2 ++ C5 ++ H1 ++ F9 ++ J1 ++ F3 ++ K1 ++ F4 ++ L1 ++ F5 ++ A3 ++ F6 ++ A4 ++ F7 ++ C6 ++ F8 ###[FILTERING]### ###[FILTERING]###
Спрятать
Как видно каждая серия собиралась из 28 кусочков. Для этого пришлось стабилизировать 3 раза полностью весь фильм с разными настройками и ещё 9 отрывков различной длинны. Это без тех которые по разным причинам не получились, или не подошли. В общем не всё так гладко и красиво, мороки очень много. А это комбинированный скрипт из 2-х фильтров (облегченный RemoveDirtMC_SE 1.0 + MC_Spuds)для шумоподавления и устранения мерцания
комбинированный скрипт
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\AudioFunctions.avs") Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\VideoFunctions.avs") LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\apps\DGMPGDec\DGDecode.dll") LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\NicAudio.dll") MPEG2Source("E:\Temp\disc1.index\disc1_T03.d2v", cpu=0, info=3) ConvertToYV12() ###[FILTERING]### XviD4PSPPluginsPath = "C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\" LoadPlugin(XviD4PSPPluginsPath + "HQDN3D.dll") LoadPlugin(XviD4PSPPluginsPath + "dfttest.dll") LoadPlugin(XviD4PSPPluginsPath + "FFT3DFilter.dll") LoadPlugin(XviD4PSPPluginsPath + "RGTools.dll") LoadPlugin(XviD4PSPPluginsPath + "RemoveGrainTSSE2.dll") LoadPlugin(XviD4PSPPluginsPath + "mvtools.dll") LoadPlugin(XviD4PSPPluginsPath + "medianblur2.dll") LoadPlugin(XviD4PSPPluginsPath + "aWarpSharp2.dll") LoadPlugin(XviD4PSPPluginsPath + "WarpSharp.dll") LoadPlugin(XviD4PSPPluginsPath + "deblock.dll") LoadPlugin(XviD4PSPPluginsPath + "DctFilter.dll") Import(XviD4PSPPluginsPath + "deblock_qed_MT2.avs") LoadPlugin(XviD4PSPPluginsPath + "masktools2.dll") LoadPlugin(XviD4PSPPluginsPath + "Gradfun2db.dll") LoadPlugin(XviD4PSPPluginsPath + "AddGrainC.dll") Import(XviD4PSPPluginsPath + "Gradfun2DBMod 1.5.avsi") Import(XviD4PSPPluginsPath + "LimitedSharpenFaster.avs") Import(XviD4PSPPluginsPath + "MC_Spuds.avs") Import(XviD4PSPPluginsPath + "Ylevels.avs") LoadPlugin(XviD4PSPPluginsPath + "deflicker.dll") LoadPlugin(XviD4PSPPluginsPath + "RGTools.dll") LoadPlugin(XviD4PSPPluginsPath + "RemoveGrainTSSE2.dll") LoadPlugin(XviD4PSPPluginsPath + "RepairTSSE2.dll") LoadPlugin(XviD4PSPPluginsPath + "RemoveDirtSSE2.dll") LoadPlugin(XviD4PSPPluginsPath + "mvtools2.dll") LoadPlugin(XviD4PSPPluginsPath + "masktools2.dll") LoadPlugin(XviD4PSPPluginsPath + "FluxSmooth.dll") LoadPlugin(XviD4PSPPluginsPath + "AddGrainC.dll") LoadPlugin(XviD4PSPPluginsPath + "GradFun2DB.dll") Import(XviD4PSPPluginsPath + "SeeSaw.avsi") Import(XviD4PSPPluginsPath + "RemoveDirtMC_SE 1.0.avs") Import(XviD4PSPPluginsPath + "GradFun2DBmod 1.5.avsi") Import(XviD4PSPPluginsPath + "Ylevels.avs") RemoveGrain(0) ChangeFPS(last,last,true) deflicker() RemoveDirtMC_SE(radius=1,repmode=0,clmode=0,TwoPassDeNoise=false) FluxSmoothST(2,5) #unsharpmask(20,1,0) #a = last #b = a.RemoveGrain(mode=17) #SeeSaw(a,b, NRlimit=3, NRlimit2=4, Sstr=1.5, Slimit=5, Spower=5, Sdamplo=6, Szp=16) #GradFun2DBmod(thr=1.6,thrC=2.0,str=1.0,strC=0.0,temp=100,adapt=64) #YlevelsS(0,1.0,255,0,255) # setmemorymax(768) RemoveGrain(0) # No-Op filter, just to do frame request ChangeFPS(last,last,true) # initiate a small forward buffer # ColorYUV(gain_y=0,cont_y=0,cont_u=0,cont_v=0,gain_v=0,gain_u=-0,off_y=0,off_u=-0,off_v=-0) mc_spuds(mode="medium high",focus=true,removeblocks=true,edgeclean=true,sharpp=0,chro=true) Gradfun2dbmod(thr=1.51,thrC=1.8,str=0.8,temp=50,adapt=64)
# Назначение: Для очень качественной обработки DVD и других источников # Тип предварительного шумоподавителя: fft3dfilter # Тип основного шумоподавителя: на основе векторного анализа оценки движения с frames=3 на базе скрипта MC_Spuds # Тип шарпера: LSFmod # Наличие фильтра DeBanding по умолчанию: включен # Скорость обработки: медленная ###[FILTERING]###
Спрятать
|