ExpLabo
From Avisynth wiki
(Difference between revisions)
Raffriff42 (Talk | contribs) (redirect for convenient searching) |
m (→HLSNoise) |
||
(One intermediate revision by one user not shown) | |||
Line 1: | Line 1: | ||
− | # | + | {{FilterCat4|External_filters|Plugins|Adjustment_filters|Levels_and_Chroma_filters}} |
− | { | + | {{Filter3 |
+ | |[https://sourceforge.net/u/brabudu/profile/ brabudu] | ||
+ | |v2.0 | ||
+ | |3=[http://sourceforge.net/projects/expsat/ ExpLaboV2_0.zip] | ||
+ | |4=Adjustment Filters | ||
+ | |5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2] | ||
+ | |6=[http://forum.doom9.org/showthread.php?t=97052 Doom9 Thread] | ||
+ | }} | ||
+ | == Description == | ||
+ | [[ExpLabo]] is a multi-filters plugin, focused on the non-linear transformation of image color space.<br> | ||
+ | Another feature is that it works principally with parameters that are hls oriented: | ||
+ | Psychophysics suggest that this is the color space nearest to the man's qualitative colors perception, ans so the most intuitive manner to work with colors. | ||
+ | |||
+ | |||
+ | ExpLabo contains: | ||
+ | * [[#ExpSat|ExpSat]]: apply a non-linear transformation of saturation | ||
+ | * [[#Colorize|Colorize]]: change the image color dominance in a flexible manner. | ||
+ | * [[#HLSnoise|HLSnoise]]: adds a noise to the image separately to the HLS dimensions. | ||
+ | |||
+ | |||
+ | See official homepage for more information and examples: http://expsat.sourceforge.net/ | ||
+ | |||
+ | <br> | ||
+ | == Requirements == | ||
+ | * [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.5.8 or greater] | ||
+ | * Supported color formats: [[RGB24]], [[RGB32]] | ||
+ | <br> | ||
+ | |||
+ | == [[Script variables|Syntax and Parameters]] == | ||
+ | |||
+ | ===ExpSat=== | ||
+ | <pre> | ||
+ | |||
+ | ExpSat (startFrame,stopFrame, | ||
+ | pre_l,post_l,exp_l,peak_l,contr_l,preoffs_l,postoffs_l, | ||
+ | pre_s,post_s,exp_s,peak_s,contr_s,preoffs_s,postoffs_s, | ||
+ | hlow,hhi,hs, | ||
+ | hls,test,graph) | ||
+ | |||
+ | startFrame: First frame of the application range (integer) | ||
+ | stopFrame: Last frame of the application range(integer) | ||
+ | |||
+ | For both luminance (or brightness) and saturation: | ||
+ | |||
+ | pre: Pre-amplification factor (float [0;100] default=1) | ||
+ | post: Post-amplification factor (float [0;100] default=1) | ||
+ | exp: Applied exponential (float [0;10] default=1) | ||
+ | peak: Exponential shaping (float [0;1] default=0.5) | ||
+ | contr: Contrast amount (float [0;10] default=1) | ||
+ | preoffs: Additive constant (Pre) (float [-1;1] default =0) | ||
+ | postoffs: Additive constant (Post) (float [-1;1] default =0) | ||
+ | |||
+ | hlow : Low limit's value of the hue range (float[0;360] default=0) | ||
+ | hhi : High limit's value of the hue range(float [0;360] default=0) | ||
+ | hs : Sharpness of hue range edges | ||
+ | |||
+ | hls: If true, l is lightness, if false l is brightness (bool default=true) | ||
+ | graph: Shows filter function and statistical info (bool default=false) | ||
+ | test: Test mode active (bool default=false) | ||
+ | |||
+ | |||
+ | All parameters are optional | ||
+ | |||
+ | ************************** | ||
+ | For a best comprehension, | ||
+ | !!! Try the graph mode !!! | ||
+ | (see SF Project homepage) | ||
+ | ************************** | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | ===Colorize=== | ||
+ | <pre> | ||
+ | Colorize (startFrame,stopFrame, | ||
+ | exp_l,exp_s, | ||
+ | rf,gf,bf,ga, | ||
+ | hlow,hhi,hs, | ||
+ | hls,graph) | ||
+ | |||
+ | startFrame: First frame of the application range (integer) | ||
+ | stopFrame: Last frame of the application range(integer) | ||
+ | |||
+ | exp_l: Luminance (or brightness) exponential (float [-10,10] default=0) | ||
+ | exp_s: Saturation exponential (float [-10,10] default=0) | ||
+ | rf,gf,bf: Linear gains (float [0;1000] default=0) | ||
+ | ga: Strenght factor (float [0;10] default =1) | ||
+ | |||
+ | hlow : Low limit's value of the hue range (float[0;360] default=0) | ||
+ | hhi : High limit's value of the hue range(float [0;360] default=0) | ||
+ | hs : Sharpness of hue range edges | ||
+ | |||
+ | hls: If true, l is lightness, if false l is brightness (bool default=true) | ||
+ | graph: Shows filter function and statistical info (bool default=false) | ||
+ | |||
+ | All parameters are optional | ||
+ | |||
+ | |||
+ | Theory: | ||
+ | |||
+ | This filter is aimed to change the color dominance of the video. But it works in a flexible manner, | ||
+ | permitting to adjust his strong in relation to others pixel parameters, as saturation and luminance. | ||
+ | Moreover, this dependence can vary in an exponential and invertible manner. | ||
+ | This is the formula: | ||
+ | |||
+ | R=R*ga + rf * sat_factor * lum_factor | ||
+ | G=G*ga + gf * sat_factor * lum_factor | ||
+ | B=B*ga + bf * sat_factor * lum_factor | ||
+ | |||
+ | where R,G and B are the rgb components of pixel, rf, gf, bf the linear gains passed to the filter and | ||
+ | sat_factor and lum_factor are dependents from saturation, luminance and the exponential parameters passed to the filter: | ||
+ | |||
+ | if exp_s > 0 sat_factor = saturation ^ exp_s | ||
+ | if exp_s < 0 sat_factor = 1- saturation ^ |exp_s| | ||
+ | |||
+ | if exp_l > 0 lum_factor = luminance ^ exp_l | ||
+ | if exp_l < 0 lum_factor = 1- luminance ^ |exp_l| | ||
+ | |||
+ | where exp_s and exp_l are user's parameters, saturation and luminance are the image saturation and luminance. | ||
+ | |||
+ | Application | ||
+ | -------------- | ||
+ | This is a bit too mathematical .. as we said former, all the parameters are oriented to the human perception. | ||
+ | |||
+ | Do you want to make the image appearance more blue, but only in the darkest areas? | ||
+ | |||
+ | This means that the blue must decrease with luminance, so exp_l<0; | ||
+ | you can try exp_s=0 (saturation do not affect the result), bf =100 and exp_l=-1 (linear dependence) or exp_l=-2 (quadratic dependence) | ||
+ | |||
+ | Do you want to make the image more red, but only where the colors are almost gray? | ||
+ | |||
+ | Set the saturation exponential to -1 and the red factor (rf) to 100 | ||
+ | |||
+ | The best way is to try yourself! | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | ===HLSnoise=== | ||
+ | <pre> | ||
+ | HLSnoise(startFrame,stopFrame, | ||
+ | noise_h,noise_l,noise_s, | ||
+ | hlow,hhi, | ||
+ | mean,hold) | ||
+ | |||
+ | startFrame: First frame of the application range (integer) | ||
+ | stopFrame: Last frame of the application range(integer) | ||
+ | |||
+ | noise_h: Hue noise amount (float [0;100] default=0) | ||
+ | noise_l: Luminance noise amount (float [0;100] default=0) | ||
+ | noise_s: Saturation noise amount (float [0;100] default=0) | ||
+ | |||
+ | hlow : Low limit's value of the hue range (float[0;360] default=0) | ||
+ | hhi : High limit's value of the hue range(float [0;360] default=0) | ||
+ | |||
+ | mean: (Future) (bool default=true) | ||
+ | hold: Use the same noise mask in all frames (bool default=true) | ||
+ | |||
+ | I suggest you to try it, it's very intuitive. Don't forget to try the hold mode on and off! | ||
+ | </pre> | ||
+ | <br> | ||
+ | |||
+ | ==Examples== | ||
+ | '''TODO''' | ||
+ | <br> | ||
+ | <br> | ||
+ | == Archived Downloads == | ||
+ | {| class="wikitable" border="1"; width="600px" | ||
+ | |- | ||
+ | !!width="100px"| Version | ||
+ | !!width="150px"| Download | ||
+ | !!width="150px"| Mirror | ||
+ | |- | ||
+ | !v2.0 | ||
+ | |[http://sourceforge.net/projects/expsat/ ExpLaboV2_0.zip] | ||
+ | |[https://web.archive.org/web/20200703161645if_/https://files.videohelp.com/u/223002/ExpLaboV2_0.zip ExpLaboV2_0.zip] | ||
+ | |} | ||
+ | <br> | ||
+ | |||
+ | ==External Links == | ||
+ | <br> | ||
+ | <br> | ||
+ | ----------------------------------------------- | ||
+ | '''Back to [[External_filters#Levels_and_Chroma|External Filters]] ←''' |
Latest revision as of 17:23, 3 July 2020
Abstract | |
---|---|
Author | brabudu |
Version | v2.0 |
Download | ExpLaboV2_0.zip |
Category | Adjustment Filters |
License | GPLv2 |
Discussion | Doom9 Thread |
Contents |
[edit] Description
ExpLabo is a multi-filters plugin, focused on the non-linear transformation of image color space.
Another feature is that it works principally with parameters that are hls oriented:
Psychophysics suggest that this is the color space nearest to the man's qualitative colors perception, ans so the most intuitive manner to work with colors.
ExpLabo contains:
- ExpSat: apply a non-linear transformation of saturation
- Colorize: change the image color dominance in a flexible manner.
- HLSnoise: adds a noise to the image separately to the HLS dimensions.
See official homepage for more information and examples: http://expsat.sourceforge.net/
[edit] Requirements
- [x86]: AviSynth+ or AviSynth 2.5.8 or greater
- Supported color formats: RGB24, RGB32
[edit] Syntax and Parameters
[edit] ExpSat
ExpSat (startFrame,stopFrame, pre_l,post_l,exp_l,peak_l,contr_l,preoffs_l,postoffs_l, pre_s,post_s,exp_s,peak_s,contr_s,preoffs_s,postoffs_s, hlow,hhi,hs, hls,test,graph) startFrame: First frame of the application range (integer) stopFrame: Last frame of the application range(integer) For both luminance (or brightness) and saturation: pre: Pre-amplification factor (float [0;100] default=1) post: Post-amplification factor (float [0;100] default=1) exp: Applied exponential (float [0;10] default=1) peak: Exponential shaping (float [0;1] default=0.5) contr: Contrast amount (float [0;10] default=1) preoffs: Additive constant (Pre) (float [-1;1] default =0) postoffs: Additive constant (Post) (float [-1;1] default =0) hlow : Low limit's value of the hue range (float[0;360] default=0) hhi : High limit's value of the hue range(float [0;360] default=0) hs : Sharpness of hue range edges hls: If true, l is lightness, if false l is brightness (bool default=true) graph: Shows filter function and statistical info (bool default=false) test: Test mode active (bool default=false) All parameters are optional ************************** For a best comprehension, !!! Try the graph mode !!! (see SF Project homepage) **************************
[edit] Colorize
Colorize (startFrame,stopFrame, exp_l,exp_s, rf,gf,bf,ga, hlow,hhi,hs, hls,graph) startFrame: First frame of the application range (integer) stopFrame: Last frame of the application range(integer) exp_l: Luminance (or brightness) exponential (float [-10,10] default=0) exp_s: Saturation exponential (float [-10,10] default=0) rf,gf,bf: Linear gains (float [0;1000] default=0) ga: Strenght factor (float [0;10] default =1) hlow : Low limit's value of the hue range (float[0;360] default=0) hhi : High limit's value of the hue range(float [0;360] default=0) hs : Sharpness of hue range edges hls: If true, l is lightness, if false l is brightness (bool default=true) graph: Shows filter function and statistical info (bool default=false) All parameters are optional Theory: This filter is aimed to change the color dominance of the video. But it works in a flexible manner, permitting to adjust his strong in relation to others pixel parameters, as saturation and luminance. Moreover, this dependence can vary in an exponential and invertible manner. This is the formula: R=R*ga + rf * sat_factor * lum_factor G=G*ga + gf * sat_factor * lum_factor B=B*ga + bf * sat_factor * lum_factor where R,G and B are the rgb components of pixel, rf, gf, bf the linear gains passed to the filter and sat_factor and lum_factor are dependents from saturation, luminance and the exponential parameters passed to the filter: if exp_s > 0 sat_factor = saturation ^ exp_s if exp_s < 0 sat_factor = 1- saturation ^ |exp_s| if exp_l > 0 lum_factor = luminance ^ exp_l if exp_l < 0 lum_factor = 1- luminance ^ |exp_l| where exp_s and exp_l are user's parameters, saturation and luminance are the image saturation and luminance. Application -------------- This is a bit too mathematical .. as we said former, all the parameters are oriented to the human perception. Do you want to make the image appearance more blue, but only in the darkest areas? This means that the blue must decrease with luminance, so exp_l<0; you can try exp_s=0 (saturation do not affect the result), bf =100 and exp_l=-1 (linear dependence) or exp_l=-2 (quadratic dependence) Do you want to make the image more red, but only where the colors are almost gray? Set the saturation exponential to -1 and the red factor (rf) to 100 The best way is to try yourself!
[edit] HLSnoise
HLSnoise(startFrame,stopFrame, noise_h,noise_l,noise_s, hlow,hhi, mean,hold) startFrame: First frame of the application range (integer) stopFrame: Last frame of the application range(integer) noise_h: Hue noise amount (float [0;100] default=0) noise_l: Luminance noise amount (float [0;100] default=0) noise_s: Saturation noise amount (float [0;100] default=0) hlow : Low limit's value of the hue range (float[0;360] default=0) hhi : High limit's value of the hue range(float [0;360] default=0) mean: (Future) (bool default=true) hold: Use the same noise mask in all frames (bool default=true) I suggest you to try it, it's very intuitive. Don't forget to try the hold mode on and off!
[edit] Examples
TODO
[edit] Archived Downloads
Version | Download | Mirror |
---|---|---|
v2.0 | ExpLaboV2_0.zip | ExpLaboV2_0.zip |
[edit] External Links
Back to External Filters ←