Bloax
27th January 2017, 15:14
Yes indeed, and after a bunch of tinkering I've come to something that gives a very nice result (https://dl.dropboxusercontent.com/u/63152810/denoise_test_2.avi):
#[.. grainy input ..]
pf1=last.knlmeanscl(d=7,a=1,s=4,h=8) #smudge it all, let god sort it out
pf2=pf1.FluxSmoothT(7) #get rid of most of the remaining flickering
grainyaf=last #for some reason keep the original
SMDegrain(tr=7,thsad=510,thsadC=700,prefilter=pf2,blksize=16,chroma=false,amp=2.3) #mdegrain the shit out of it
denoised1=last
u2=last.UToY().ConvertToY8()
v2=last.VToY().ConvertToY8()
u3=u2.knlmeanscl(a=2,s=3,d=3,h=2.1) #do some final knlmeanscl cleanup
v3=v2.knlmeanscl(a=2,s=3,d=3,h=2.1)
wtf1=grainyaf.ConvertToY8()
wtf2=denoised1.ConvertToY8()
wtf3=Merge(wtf1,wtf2,0.9) #for some reason merge a little bit of the original luma with the smdegrained one
yv=Merge(wtf3,wtf3.KNLMeansCL(d=3,a=3,s=4,h=1.8),0.65) #then clean a little bit extra with knlmeanscl
YToUV(u3,v3,yv)
Not quite perfect, but considering the original noisefest it shouldn't come as a surprise.
I'd warn against using a monstrosity like this on normal content though, the nature of its birth means that it completely wipes things clean of noise when there isn't a metric fuckload of it. :D
#[.. grainy input ..]
pf1=last.knlmeanscl(d=7,a=1,s=4,h=8) #smudge it all, let god sort it out
pf2=pf1.FluxSmoothT(7) #get rid of most of the remaining flickering
grainyaf=last #for some reason keep the original
SMDegrain(tr=7,thsad=510,thsadC=700,prefilter=pf2,blksize=16,chroma=false,amp=2.3) #mdegrain the shit out of it
denoised1=last
u2=last.UToY().ConvertToY8()
v2=last.VToY().ConvertToY8()
u3=u2.knlmeanscl(a=2,s=3,d=3,h=2.1) #do some final knlmeanscl cleanup
v3=v2.knlmeanscl(a=2,s=3,d=3,h=2.1)
wtf1=grainyaf.ConvertToY8()
wtf2=denoised1.ConvertToY8()
wtf3=Merge(wtf1,wtf2,0.9) #for some reason merge a little bit of the original luma with the smdegrained one
yv=Merge(wtf3,wtf3.KNLMeansCL(d=3,a=3,s=4,h=1.8),0.65) #then clean a little bit extra with knlmeanscl
YToUV(u3,v3,yv)
Not quite perfect, but considering the original noisefest it shouldn't come as a surprise.
I'd warn against using a monstrosity like this on normal content though, the nature of its birth means that it completely wipes things clean of noise when there isn't a metric fuckload of it. :D