Advertisement
mawen1250

HQDering mod v0.3

Oct 25th, 2012
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ######
  2. ###
  3. ### HQDering mod v0.3 by mawen1250
  4. ###
  5. ### Requirements: masktools v2.0a48, RemoveGrain v1.0pre, dfttest v1.9.2
  6. ###
  7. ### Applies derining by using a smart smoother near edges (where ringing occurs) only.
  8. ###
  9. ######
  10.  
  11. Function HQDeringmod(clip input, clip "smoother", int "mthr", int "mrad", float "sigma", float "sigma2", int "sbsize", int "sosize") {
  12.  
  13.  mthr     = Default(mthr,   80     )   # threshold of edge mask, lower  value means more aggressive processing.
  14.  mrad     = Default(mrad,   2      )   # radius    of ring mask, higher value means more aggressive processing.
  15.  
  16.  sigma    = Default(sigma,  64.0   )   # dfttest: sigma.
  17.  sigma2   = Default(sigma2, sigma/8)   # dfttest: sigma2.
  18.  sbsize   = Default(sbsize, 4      )   # dfttest: length of the sides of the spatial window.
  19.  sosize   = Default(sosize, 3      )   # dfttest: spatial overlap amount.
  20.  
  21.  smoothed = Defined(smoother) ? smoother : input.dfttest(Y=true, U=false, V=false, sigma=sigma, sigma2=sigma2, sbsize=sbsize, sosize=sosize, tbsize=1, lsb_in=false, lsb=false)
  22.  
  23.  prewittm      = input.mt_edge("prewitt", mthr, 255, 0, 0, V=1, U=1)
  24.  fmask         = mt_hysteresis(prewittm.RemoveGrain(4, -1), prewittm, U=1, V=1)
  25.  omask         = mrad > 1 ? fmask.mt_expand(U=1, V=1) : fmask
  26.  omask         = mrad > 2 ? omask.mt_expand(U=1, V=1) : omask
  27.  omask         = mrad > 3 ? omask.mt_expand(U=1, V=1) : omask
  28.  omask         = mrad > 4 ? omask.mt_expand(U=1, V=1) : omask
  29.  imask         = fmask.mt_inflate(U=1, V=1).mt_inpand(U=1, V=1)
  30.  ringmask      = omask.mt_lutxy(imask.mt_invert(U=1, V=1), "x y * 255 /", U=1, V=1)
  31.  
  32.  return mt_merge(input, smoothed, ringmask, luma=false, Y=3, U=2, V=2)
  33.  
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement