The compression, or something else in this Blu-Ray is causing weird shapes all over the video in the clean parts of the image.
https://i.imgur.com/vcgngKA.png (All over face)
https://i.imgur.com/icbrS2K.png (All over green shirt)
I had something that kind of resembles this from a couple years ago, but they were just thin straight bars, and an easy fix with TNLMeans thanks to a suggestion on here. This is large erratic shapes, and it is having no real effect on cleaning it.
Whats causing this, and does anyone have any idea for things to try so I clean that up without obliterating the rest of the image?
+ Reply to Thread
Results 1 to 7 of 7
TNLMeans() can get rid of it but it requires such a large radius that it will take you forever to process a video. As a test try it with AX=30 and AY=30. You'll see that most of it is gone. With some tuning and masking you can probably keep it from affecting other parts of the picture too badly. But GradFun3() is probably more practical.
ImageSource("icbrS2K.png", start=0, end=23, fps=23.976) ConvertToYV12() emask = mt_edge(mode="sobel", thY1=0, thY2=0).Blur(1.4).Blur(1.4).GreyScale().Invert() TNLMeans(Ax=50, Ay=50, Az=0) Overlay(src, last, mask=emask)
[Attachment 58783 - Click to enlarge]
Last edited by jagabo; 9th May 2021 at 12:32.
I tried raising the ax and ay to 10 before asking and it still didn't work on it. It also took a very long time to load the preview for it. I suppose I can see what 30 does, but at that speed, I cant wait for it.
The gradfun2 you say is more practical seems to do an okay job.
It's not a perfect fix, but it sure helps well enough to be acceptable and looks much better overall. It's certainly better than nothing, without a doubt.
The gradfun2 is mostly acceptable. There's a few scenes where it doesn't seem to help a whole lot.
It fixed the beard somewhat, but that face has spots all over it. Can you think of anything else I can do to clean those white spots on the old mans face?
EDIT - Actually, using TNLmeans at a lower AX/AY setting, and combining with the gradfun seems to clean the white off the face.
Last edited by killerteengohan; 9th May 2021 at 12:57.
MergeChroma(TNLMeans(Ax=3, Ay=3, Az=0, h=1.5), TNLMeans(Ax=2, Ay=2, Az=0, h=0.5)) GradFun3()
[Attachment 58785 - Click to enlarge]
The main reason GradFun alone doesn't work is because there are often 2 units of change in the spots. GradFun is designed for single unit gradients. Using TNLMeans smooths those 2 unit changes out to separate single unit changes. Ie, instead of a string of pixels having Y values of:
100 100 100 100 102 102 102 102 100 100 100 100 100
100 100 101 101 101 102 102 102 101 101 101 100 100
By the way, if you have a GPU that supports it you can try using KNLMeansCL() instead of TNLMeans. It can be faster and you can spread the work out between the CPU and GPU.
MergeChroma(KNLMeansCL(a=3, d=0, h=1.2, channels="Y"), KNLMeansCL(a=2, d=0, h=0.5, channels="Y"))
Last edited by jagabo; 9th May 2021 at 18:53.
Nvidia GTX 980. I assume that's a good enough card even though I have had it for a while. I haven't tried setting filters to use my graphics card before and generally just let my CPU do it all.
Is gradfun3 all that different from gradfun2dbmod? I have never really used 3 before.