DeSaltPepper

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m
m
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
+
{{FilterCat|External_filters|Plugins|Denoisers}}
{{FilterCat4|External_filters|Plugins|<!-- category -->TODO|<!-- category -->TODO}}
+
 
+
 
{{Filter3
 
{{Filter3
|1=<!-- author --> [http://www.avisynth.nl/users/vcmohan/ V.C.Mohan]
+
|1={{Author/vcmohan}}
|2=<!-- version --> 17 Oct 2017
+
|2=14 Oct 2015
|3=<!-- URL --> [http://www.avisynth.nl/users/vcmohan/modPlus/modPlus.7z modPlus.7z]
+
|3=[http://www.avisynth.nl/users/vcmohan/DeSaltPepper/DeSaltPepper_2_6.zip DeSaltPepper_2_6.zip]
|4=<!-- category --> External filters
+
|4=External filters
|5=<!-- license --> [https://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
+
|5=[https://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
|6=<!-- discussion URL --> [https://forum.doom9.org/showthread.php?p=895926#post895926 Announced DeSaltPepper plugin]}}
+
|6=[https://forum.doom9.org/showthread.php?p=895926#post895926 Doom9 Forum]}}
  
 +
<br>
 
== Description ==
 
== Description ==
 
<!-- a one-sentence description -->
 
<!-- a one-sentence description -->
  
The function SaltPepper uses morphology technique to identify such noise and replace those pixels by average or minimum or maximum whichever is appropriate of the surrounding pixels. [http://www.avisynth.nl/users/vcmohan/modPlus/SaltPepper.html Full Description].
+
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. [http://www.avisynth.nl/users/vcmohan/DeSaltPepper/DeSaltPepper.html Full Description].
  
  
Requires AviSynth+ r2347 or greater
+
*For AviSynth+ see [[modPlus]], includes high bit depth colorspace support and 64-bit.
<br>
+
 
<br>
 
<br>
 +
== Requirements ==
 +
* [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6]
 +
* Supported color formats: [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]
  
 +
<br>
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
:{{Template:FuncDef|<!-- function name -->DeSaltPepper(''clip'', ''<!-- par 1 type -->string'' "<!-- par 1 name -->opt", ''<!-- par 2 type -->bool'' "<!-- par 2 name -->uv ",''<!-- par 3 type -->bool'' <!-- par 3 name -->avg", ''<!-- par 4 type -->int'' "<!-- par 4 name -->feedback")}}
+
:{{Template:FuncDef| DeSaltPepper (clip, string "opt", int "tol", bool "uv", bool "avg", int "feedback")}}
 
<br>
 
<br>
 
::{{Par2| |clip| }}
 
::{{Par2| |clip| }}
:::Input clip.     
+
::: Input clip
 
<br>
 
<br>
::{{Par2|<!-- par 1 type -->string|<!-- par 1 name -->opt|<!-- par 1 default value -->"both"}}
+
::{{Par2|opt|string|"both"}}
:::<!-- par 1 description --> Option of process.
+
::: Process option:
 +
:::* "salt"
 +
:::* "pepper"
 +
:::* "both"
 
<br>
 
<br>
::{{Par2|<!-- par 2 type -->bool|<!-- par 3 name -->uv|<!-- par 2 default value -->true}}
+
::{{Par2|tol|int|0}}
:::<!-- par 2 description --> UV processing required?
+
:::Tolerance limit which is not noise.
 +
:::Range: -5 to 5
 
<br>
 
<br>
::{{Par2|<!-- par 3 type -->bool|<!-- par 3 name -->avg|<!-- par 3 default value -->true}}
+
::{{Par2|uv|bool|true}}
:::<!-- par 3 description --> Is average is replacement value?
+
::: UV processing required?
 
+
:::* true for u, v process
 +
:::* false for not processing u, v
 
<br>
 
<br>
::{{Par2|<!-- par 4 type -->int|<!-- par 4 name -->feedback|<!-- par 4 default value -->0}}
+
::{{Par2|avg|bool|true}}
:::<!-- par n description --> Number of feed back loops in processing to be used. applicable only if avg is true. 0 to 10.
+
::: Is average is replacement value?
 +
::::* true for average
 +
::::* false for max value of neighborhood for salt and minimum value for pepper
 
<br>
 
<br>
 +
::{{Par2|feedback|int|0}}
 +
::: Number of feed back loops in processing to be used. Applicable only if <code>avg=true</code>.
 +
:::Range: 0 to 10
  
 +
<br>
 
== Examples ==
 
== Examples ==
<!-- example code block: 1st char in each line = space -->
+
DeSaltPepper with default values:
  SaltPepper(img, opt = "both",UV = true, tol = 0, avg = true, feedback = 3 )  
+
  [[AviSource]]("blah.avi")
 
+
DeSaltPepper(opt="both", uv=true, tol=0, avg=true, feedback=3 )   
  ds = SaltPepper(img, opt = "both",UV = true)
+
<br>
ds1 = SaltPepper(img, opt = "salt",UV = false, avg = false)
+
ds2 = SaltPepper(ds1, opt = "pepper",UV = true)
+
 
+
 
<br>
 
<br>
 
-----------------------------------------------
 
-----------------------------------------------
'''Back to [[External_filters|External Filters]] &larr;'''
+
'''Back to [[External_filters#Denoisers|External Filters]] &larr;'''

Latest revision as of 20:17, 7 June 2020

Abstract
Author V. C. Mohan
Version 14 Oct 2015
Download DeSaltPepper_2_6.zip
Category External filters
License GPLv2
Discussion Doom9 Forum


Contents

[edit] Description

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. Full Description.


  • For AviSynth+ see modPlus, includes high bit depth colorspace support and 64-bit.


[edit] Requirements


[edit] Syntax and Parameters

DeSaltPepper (clip, string "opt", int "tol", bool "uv", bool "avg", int "feedback")


clip   =
Input clip


string  opt = "both"
Process option:
  • "salt"
  • "pepper"
  • "both"


int  tol = 0
Tolerance limit which is not noise.
Range: -5 to 5


bool  uv = true
UV processing required?
  • true for u, v process
  • false for not processing u, v


bool  avg = true
Is average is replacement value?
  • true for average
  • false for max value of neighborhood for salt and minimum value for pepper


int  feedback = 0
Number of feed back loops in processing to be used. Applicable only if avg=true.
Range: 0 to 10


[edit] Examples

DeSaltPepper with default values:

AviSource("blah.avi")
DeSaltPepper(opt="both", uv=true, tol=0, avg=true, feedback=3 )  




Back to External Filters

Personal tools