AdaptiveMedian

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
{{FilterCat|External_filters|Plugins|Denoisers}}
 +
{{Filter3
 +
|{{Author/vcmohan}}
 +
| 22 Nov 2015
 +
| [http://www.avisynth.nl/users/vcmohan/AdaptiveMedian/AdaptiveMedian_2_6.zip AdaptiveMedian_2_6.zip]
 +
|4=External filters
 +
|5=[https://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
 +
|6=[https://forum.doom9.org/showthread.php?p=712586#post712586 Doom9Forum]}}
  
{{FilterCat4|External_filters|Plugins|<!-- category -->TODO|<!-- category -->TODO}}
+
== Description ==
  
{{Filter3
+
This is an adaptive Median Filter for eliminating certain types of noise. It uses local statistics (minimum, maximum and median values) of a moving local grid, and changes grid size depending on local statistics. [http://www.avisynth.nl/users/vcmohan/AdaptiveMedian/AdaptiveMedian.html Full Description]
|<!-- author -->[http://www.avisynth.nl/users/vcmohan/ V.C.Mohan]
+
|<!-- version -->1.0.0.0.0
+
|<!-- download 2.5.8 version URL -->[http://www.avisynth.nl/users/vcmohan/AdaptiveMedian/AdaptiveMedian.zip AdaptiveMedian] and 2.6.0 alpha5 version URL -->[http://www.avisynth.nl/users/vcmohan/AdaptiveMedian/AdaptiveMedian_2_6.zip AdaptiveMedian]
+
|<!-- category -->External filters
+
|<!-- license -->[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
+
|<!-- discussion URL -->[http://forum.doom9.org/showthread.php?p=712586#post712586 AdaptiveMedian]}}
+
  
<br>
+
 
== Description ==
+
*For AviSynth+ see [[modPlus]], includes high bit depth colorspace support and 64-bit.
<!-- a one-sentence description -->
+
Median value in an adaptive size grid is used to clean impulse noise, smooth out other noise and reduce excessive thinning of edges and for a Full description <span style="color:blue"> [http://www.avisynth.nl/users/vcmohan/AdaptiveMedian/AdaptiveMedian.html click me]</span>.
+
<br>
+
 
<br>
 
<br>
 
== Requirements ==
 
== Requirements ==
* <!-- Avisynth version -->AviSynth 2.5.8 or [http://sourceforge.net/projects/avisynth2/files/AviSynth_Alpha_Releases/ 2.6.0 Alpha 5 or greater]
+
* [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6]
* <!-- source video: progressive
+
* Supported color formats: [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]
* <!-- color formats -->Supported color formats: [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]], <span style="color:red">*</span>[[YV16]], <span style="color:red">*</span>[[YV24]], <span style="color:red">*</span>[[YV411]], <span style="color:red">*</span>[[Y8]]
+
 
: <span style="color:red">*</span> Not available in AviSynth 2.5.8.
+
* <!-- CPU/GPU -->
+
* <!-- binaries -->
+
* <!-- dependent plugins -->
+
 
<br>
 
<br>
 
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
:{{Template:FuncDef|<!-- function name -->AdaptiveMedian (''clip'', ''<!-- par 1 type -->int'' "<!-- par 1 name -->sf", ''<!-- par 2 type -->int'' "<!-- par 2 name -->ef", ''<!-- par 3 type -->int'' "<!-- par 3 name -->maxgrid", ''<!-- par 4 type -->bool'' "<!-- par 4 name -->yy", ''<!-- par 5 type -->bool'' "<!-- par 5 name -->uu", ''<!-- par 6 type -->bool'' "<!-- par 6 name -->vv")}}
+
:{{Template:FuncDef|AdaptiveMedian (''clip'', ''int'' "sf", ''int'' "ef", ''int'' "maxgrid", ''bool'' "yy", ''bool'' "uu", ''bool'' "vv")}}
 
<br>
 
<br>
 
::{{Par2| |clip| }}
 
::{{Par2| |clip| }}
:::Input clip.      
+
:::Input clip.
<br>
+
::{{Par2|<!-- par 1 type -->int|<!-- par 1 name -->sf|<!-- par 1 default value -->0}}
+
:::<!-- par 1 description -->frame number from which this filter is to be applied .
+
<br>
+
::{{Par2|<!-- par 2 type -->int|<!-- par 2 name -->ef|<!-- par 2 default value -->last frame of input clip}}
+
:::<!-- par 2 description -->frame number up to which this filter is to be applied
+
 
<br>
 
<br>
::{{Par2|<!-- par 3 type -->int|<!-- par 3 name -->maxgrid|<!-- par 3 default value -->5}}
+
::{{Par2|sf|int|0}}
:::<!-- par 3 description -->grid size to get statistics can grow to this value starting from 3x3. Maximum value allowed is 9.
+
:::Starting frame number to process.
 
<br>
 
<br>
::{{Par2|<!-- par 4 type -->bool|<!-- par 4 name -->yy|<!-- par 4 default value -->true}}
+
::{{Par2|ef|int| }}
:::<!-- par 4 description -->In case of YUY2 or Planar format input, if yy is set true then y component is processed. For RGB ignored.
+
:::End frame number to process, default is the last frame.
 
<br>
 
<br>
::{{Par2|<!-- par 5 type -->bool|<!-- par 5 name -->uu|<!-- par 5 default value -->false}}
+
::{{Par2|maxgrid|int|5}}
:::<!-- par 5 description -->In case of YUY2 or Planar format input, if uu is set true then u component is processed. For RGB ignored
+
:::Grid size to get statistics can grow to this value starting from 3x3.
 +
::::Range: 3 to 9
 
<br>
 
<br>
::{{Par2|<!-- par 6 type -->bool|<!-- par 6 name -->vv|<!-- par 6 default value -->false}}
+
::{{Par2|yy|bool|true}}
:::<!-- par 6 description -->In case of YUY2 or Planar format input, if vv is set true then v component is processed. For RGB ignored.
+
::{{Par2|uu|bool|false}}
 +
::{{Par2|vv|bool|false}}
 +
:::Choose which [[YUV]] planes to process.
 +
::::* True : Do not process
 +
::::* False: Process
 +
:::By default only the luma plane (Y) is processed. If the input clip is [[RGB]], then these parameters are simply ignored.
 
<br>
 
<br>
  
 
== Examples ==
 
== Examples ==
<!-- example code block: 1st char in each line = space -->
+
AdaptiveMedian with default values:
  ## This is some example code.
+
   
  Avisource("example.avi").converttoRGB32()
+
  AviSource("blah.avi")
  AdaptiveMedian(maxgrid = 7)
+
  AdaptiveMedian(a, maxgrid=5, yy=true, uu=false, vv=false)
<!-- new code block: no leading space -->
+
  
## This is another example.
 
Avisource("example.avi").converttoYV12()
 
AdaptiveMedian(uu=true,vv=true)
 
 
<br>
 
<br>
 
<br>
 
<br>
 
-----------------------------------------------
 
-----------------------------------------------
'''Back to [[External_filters|External Filters]] &larr;'''
+
'''Back to [[External_filters#Denoisers|External Filters]] &larr;'''

Latest revision as of 20:16, 7 June 2020

Abstract
Author V. C. Mohan
Version 22 Nov 2015
Download AdaptiveMedian_2_6.zip
Category External filters
License GPLv2
Discussion Doom9Forum

Contents

[edit] Description

This is an adaptive Median Filter for eliminating certain types of noise. It uses local statistics (minimum, maximum and median values) of a moving local grid, and changes grid size depending on local statistics. Full Description


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


[edit] Requirements


[edit] Syntax and Parameters

AdaptiveMedian (clip, int "sf", int "ef", int "maxgrid", bool "yy", bool "uu", bool "vv")


clip   =
Input clip.


int  sf = 0
Starting frame number to process.


int  ef =
End frame number to process, default is the last frame.


int  maxgrid = 5
Grid size to get statistics can grow to this value starting from 3x3.
Range: 3 to 9


bool  yy = true
bool  uu = false
bool  vv = false
Choose which YUV planes to process.
  • True : Do not process
  • False: Process
By default only the luma plane (Y) is processed. If the input clip is RGB, then these parameters are simply ignored.


[edit] Examples

AdaptiveMedian with default values:

AviSource("blah.avi")
AdaptiveMedian(a, maxgrid=5, yy=true, uu=false, vv=false)




Back to External Filters

Personal tools