AdaptiveMedian: Difference between revisions

From Avisynth wiki
Jump to navigationJump to search
Vcmohan (talk | contribs)
Created page with " {{FilterCat4|External_filters|Plugins|<!-- category -->TODO|<!-- category -->TODO}} {{Filter3 |<!-- author -->V.C.Mohan |<!-- version -->1.0.0.0.0 |<!-- download 2.5.8 versi..."
 
mNo edit summary
 
(12 intermediate revisions by 4 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]}}
== Description ==


{{FilterCat4|External_filters|Plugins|<!-- category -->TODO|<!-- category -->TODO}}
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]


{{Filter3
|<!-- author -->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>
*For AviSynth+ see [[modPlus]], includes high bit depth colorspace support and 64-bit.
== Description ==
<!-- 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 21: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

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.


Requirements


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.


Examples

AdaptiveMedian with default values:

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




Back to External Filters