|
|
(One intermediate revision by one user not shown) |
Line 1: |
Line 1: |
| #REDIRECT [[VariableBlur]] | | #REDIRECT [[VariableBlur]] |
− | | + | [[Category:Redirects]] |
− | {{Filter3
| + | |
− | | {{Author/tsp}}, {{Author/tritical}}
| + | |
− | | v0.7
| + | |
− | |[http://bengal.missouri.edu/~kes25c/variableblur.zip variableblur.zip]
| + | |
− | | Blurring
| + | |
− | | [http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
| + | |
− | |6=[http://forum.doom9.org/showthread.php?t=88645 Doom9 Thread]
| + | |
− | }}
| + | |
− | <br>
| + | |
− | == Description ==
| + | |
− | :VariableBlur is a Gaussian, binomial or average blur filter with a variable radius (variance). Also includes an unsharp mask filter based on the Gaussian filter meaning it is fast for big variance.
| + | |
− | :The binomial filter part is based on a paper by Frederick M. Waltz and John W. V. Miller. [http://mii-prakse.googlecode.com/svn/prakse/AtteluApstrade/Subprojects/PixelMaster/trunk/doc/materi%C4%81li/Gaussian%20blur%20using%20finite-state%20machines.pdf An efficient algorithm for Gaussian blur using finite-state machines]. SPIE Conf. on Machine Vision Systems for Inspection and Metrology VII page 3521-37
| + | |
− | <br>
| + | |
− | | + | |
− | == Requirements ==
| + | |
− | :- AviSynth 2.5.8 or later
| + | |
− | :- Supported color formats: [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]
| + | |
− | <br>
| + | |
− | :- [http://www.microsoft.com/en-us/download/details.aspx?id=8328 Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)]
| + | |
− | ::<span style="color:red">***</span> Required due to [http://msdn.microsoft.com/en-us/library/tt15eb9t%28v=vs.100%29.aspx OpenMP] multithreading.
| + | |
− | | + | |
− | :- [http://www.fftw.org/install/windows.html FFTW 3.3.4 <tt>(fftw-3.3.4-dll32.zip)</tt>]
| + | |
− | ::<span style="color:red">***</span> 32-bit version of <tt>libfftwf3-3.dll</tt> needs to be in the search path (<tt>C:\Windows\SysWOW64</tt> 64-bit OS or <tt>C:\windows\system32</tt> 32-bit OS)
| + | |
− | ::<span style="color:red">***</span> VariableBlur will not run or load without it.
| + | |
− | | + | |
− | :- [[VariableBlur/GaussianBlur|GaussianBlur]] function requires an [[SSE2]] capable CPU.
| + | |
− | <br>
| + | |
− | | + | |
− | == Filters ==
| + | |
− | {{PluginFilterTable2}}
| + | |
− | {{PluginFilterRow|VariableBlur|AverageBlur|
| + | |
− | AverageBlur works by taking the average value of the pixels inside the radius.
| + | |
− | | [[YV12]]
| + | |
− | }}
| + | |
− | {{PluginFilterRow|VariableBlur|BinomialBlur|
| + | |
− | BinomialBlur works by repeating a 5x5 or 3x3 kernel based on pascals triangle multiple times to blur the image.
| + | |
− | | [[YV12]]
| + | |
− | }}
| + | |
− | {{PluginFilterRow|VariableBlur|GaussianBlur|
| + | |
− | GaussianBlur works by converting the image to the frequency domain using FFTW and complex multiplying it with the Gaussian kernel in the frequency domain before converting the result back to the spatial domain giving the same result as doing a convolution in the spatial domain just faster for large kernel sizes.
| + | |
− | | [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]
| + | |
− | }}
| + | |
− | {{PluginFilterRow|VariableBlur|Unsharp|
| + | |
− | Sharpens the image using unsharp filtering (http://homepages.inf.ed.ac.uk/rbf/HIPR2/unsharp.htm for an explanation).
| + | |
− | | [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]
| + | |
− | }}
| + | |
− | |}
| + | |
− | <br>
| + | |
− | | + | |
− | <br>
| + | |
− | | + | |
− | == Changelog ==
| + | |
− | Version Date Changes<br>
| + | |
− | v0.7 05/24/2012 - Fix integrate=true giving incorrect results due to lack of precision in weight
| + | |
− | calculation. Integrate=true now gives results much closer to integrate=false, as
| + | |
− | would be expected.
| + | |
− | - Add support for YUY2, RGB24, and RGB32 input to GaussianBlur/Unsharp<br>
| + | |
− | v0.6 05/22/2012 - Fix border=3 bug for gfunc/gfuncc >= 0 (gamma processing was not done on border values)
| + | |
− | - Make radius for GaussianBlur 4*std instead of 3*std
| + | |
− | - Add border=4 (mirroring) option to gaussianblur and make it the default
| + | |
− | - Dynamically load FFTW (libfftwf3-3.dll) instead of statically linking to old .lib
| + | |
− | - Multithread GaussianBlur using OpenMP and use FFTW multithreaded plans
| + | |
− | - SSE/SSE2 optimizations. GaussianBlur now requires SSE2 capable CPU.<br>
| + | |
− | v0.5 03/14/2011 - Add gfunc/gfuncc/pcr/pcrc parameters to gaussianblur/unsharp (tritical)<br>
| + | |
− | v0.4+ 08/30/2008 - [http://forum.doom9.org/showpost.php?p=1157772&postcount=39 Memory leak] fix by [http://forum.doom9.org/showpost.php?p=1177210&postcount=45 Neuron2]<br>
| + | |
− | v0.4 05/24/2005 - Fixed bug with converting float to unsigned char without proper clamping.
| + | |
− | Also included an sharp filter and optional integrated Gaussian coefficients.
| + | |
− | v0.3 05/06/2005 - GaussianBlur is included, old Gaussian is renamed to BinomialBlur.<br>
| + | |
− | v0.2 01/24/2005 - optimization of the Gaussian blur (now uses a 5x5 mask instead of 3x3) and the
| + | |
− | average blur(smarter algorithm resulting in a factor 20 to 100 speed increase)<br>
| + | |
− | v0.1 01/19/2005 - Initial release
| + | |
− | <br>
| + | |
− | == Archived Downloads ==
| + | |
− | {| class="wikitable" border="1"; width="700px"
| + | |
− | |-
| + | |
− | !!width="100px"| Version
| + | |
− | !!width="150px"| Download
| + | |
− | !!width="150px"| Mirror
| + | |
− | !!width="150px"| Mirror 2
| + | |
− | |-
| + | |
− | !v0.7
| + | |
− | |[http://bengal.missouri.edu/~kes25c/variableblur.zip variableblur.zip]
| + | |
− | |[http://web.archive.org/web/20140420184040/http://bengal.missouri.edu/~kes25c/variableblur.zip variableblur.zip]
| + | |
− | |
| + | |
− | |-
| + | |
− | !v0.4+
| + | |
− | |[http://rationalqm.us/misc/VariableBlur.zip VariableBlur.zip]
| + | |
− | |[http://web.archive.org/web/20140713164910/http://rationalqm.us/misc/VariableBlur.zip VariableBlur.zip]
| + | |
− | |[http://web.archive.org/web/20140703022116/http://neuron2.net/misc/VariableBlur.zip VariableBlur.zip]
| + | |
− | |-
| + | |
− | !v0.4
| + | |
− | |[http://www.tsp.person.dk/VariableBlur040.zip VariableBlur040.zip]
| + | |
− | |[http://web.archive.org/web/20111212022051/http://www.tsp.person.dk/VariableBlur040.zip VariableBlur040.zip]
| + | |
− | |[http://www.avisynth.nl/users/tsp/VariableBlur040.zip VariableBlur040.zip]
| + | |
− | |-
| + | |
− | !v0.3
| + | |
− | |[http://www.64k.it/andres/data/avisynth/variableblur_25_dll_20050506.zip variableblur_25_dll_20050506.zip]
| + | |
− | |[http://web.archive.org/web/20140630103035/http://www.64k.it/andres/data/avisynth/variableblur_25_dll_20050506.zip variableblur_25_dll_20050506.zip]
| + | |
− | |
| + | |
− | |}
| + | |
− | <br>
| + | |
− | == External Links ==
| + | |
− | *[http://forum.doom9.org/showthread.php?t=88645 Doom9 Forum] - VariableBlur discussion.
| + | |
− | <br>
| + | |
− | <br>
| + | |
− | <br>
| + | |
− | -----------------------------------------------
| + | |
− | '''Back to [[External_filters#Blurring|External Filters]] ←'''
| + | |