Log in

View Full Version : Useful Filters To Enhance Quality ?


Batman007
17th April 2015, 18:59
Hello Doom9

I just use Sharpen(0.5) for enhancing quality
There's gotta be some more filters which can help me in enhancing quality
Can anyone tell their names and script ?

Thank you..........

raffriff42
18th April 2015, 00:44
Yeah, "quality" is kind of subjective. But if you want sharpening-plus, here's something worth trying: (requires Masktools (http://avisynth.nl/index.php/MaskTools2))
##################################
### enhance contrast - like unsharp
## by Didée
## http://forum.doom9.org/showthread.php?p=1555234#post1555234
##
## @ z - default 6 (3 = subtle; 16 = massive)
## @ pow - default 1.6 (1.0 = oversharp; 4.0 = mild)
## @ str - default 0.7 (3 = strong; 18 = massive)
## @ rad - default 9 (0.6 = sharpen; 18 = soft)
## @ ldmp - default 0.001 (block overlap? 0.01 = a little smoother?)
##
## NonlinUSM(pow=4) ## enhance: for low bitrate sources
## NonlinUSM(z=3, pow=4.0, str=1, rad=6) ## enhance less
##
## NonlinUSM(z=6, str=1.5, rad=0.6, pshrp=0.3) ## sharpen: for hi-q sources
## NonlinUSM(z=3, str=2.5, rad=0.6) ## sharpen: less noise
## NonlinUSM(z=6, pow=1.0, str=1, rad=6) ## unsharp
##
## NonlinUSM(pow=1.0, rad=2, str=0.7) ## smoothen: for noisy sources
## NonlinUSM(pow=1.0, rad=18, str=0.5) ## smear: soft glow
##
## NonlinUSM(z=16, pow=4.0, str=18, rad=6) ## B+W psycho
## NonlinUSM(z=16, pow=4.0, str=3, rad=6) ## sepia/artistic
## NonlinUSM(z=6, pow=4.0, str=1, rad=36) ## local contrast
## NonlinUSM(z=6, pow=1.0, str=1, rad=36) ## local contrast
## NonlinUSM(z=16, pow=2.0, str=2, rad=36) ## solarized
##
function NonlinUSM(clip o, float "z", float "pow", float "str",
\ float "rad", float "ldmp", float "pshrp")
{
z = Float(Default(z, 6.0)) ## zero point
pow = Float(Default(pow, 1.6)) ## power
str = Float(Default(str, 0.7)) ## strength
rad = Float(Default(rad, 9.0)) ## radius for "gauss"
ldmp = Float(Default(ldmp, 0.001)) ## damping for very small differences
pshrp = Float(Default(pshrp, 0.0))

g = o.BicubicResize(Round(o.Width / rad / 4) * 4, Round(o.Height / rad / 4) * 4)
\ .BicubicResize(o.Width, o.Height, 1, 0)

mt_lutxy(o, g, "x x y - abs " + String(z) + " / 1 " + String(pow) +
\ " / ^ " + String(z) + " * " + String(str) +
\ " * x y - 2 ^ x y - 2 ^ " + String(ldmp) +
\ " + / * x y - x y - abs 0.001 + / * +",
\ U=2, V=2)

Overlay(o, Last, opacity=str)
Sharpen(pshrp)
return Last
}

hello_hello
18th April 2015, 01:26
http://avisynth.nl/index.php/LSFmod

http://avisynth.nl/index.php/SeeSaw

Batman007
18th April 2015, 17:07
I compared screen of video applied Sharpen filter vs. SeeSaw and the script which raffriff42 gave
But I didn't see any much difference ....