Many images have impulse noise. If the impulse is positive it is known as Salt, and if -ve is known as Pepper. These are of one pixel dimension. Removing such noise aids many other types of processing. There are many approaches to eliminate this type of noise. DeSaltPepper uses morphology technique to identify such noise and replace those pixels by average or minimum or maximum whichever is appropriate of the surrounding pixels.
Option to elimiate Salt only or Pepper only or both types is provided. Also a tolerance factor exists, but the default value of 0 may be used generally. The tolerance decreases the sensitivity. While -ve numbers can be used but it may distort image.
Once the salt or pepper is identified it is replaced by average value of nearest 8 pixels. If avg is selected as false then in case of salt noise the highest value of neighbourhood and for pepper the lowest value of neighbourhood pixels are used as replacement values.
Feedback loops can vary from 0 to 10. This works only if avg is true. Feedback times image is repeatedly processed usng previous output as input. Practically beyond a value of 5 no significant change occurs. As averaging is involved some blurring occurs.
All avisynth supported color space RGB32, RGB24, YUY2 and Planar (YV12 only for 2.5 version) formats may be input. In case of YUY2 and Planar formats option to process or not of U and V values is provided
Description | Name | Type | Limits | Default |
Input clip | clip | none | ||
option of process | opt | string | "salt", "pepper", "both" | "both" |
tolerance | tol | integer | -5 to 5 | 0 |
UV processing required? | uv | boolean | true for u, v process, false for not processing u, v | true |
is average is replacement value? | avg | boolean | true for average, false for max value of neighbourhood for salt and minimum value for pepper | true |
number of feed back loops in processing to be used. applicable only if avg is true. | feedback | integer | 0 to 10 | 0 |
ds = DeSaltPepper(img, opt = "both",UV = true) ds1 = DeSaltPepper(img, opt = "salt",UV = false, avg = false) ds2 = DeSaltPepper(ds1, opt = "pepper",UV = true)
To my index page | To Avisynth |