RGBAdjust: Difference between revisions
From Avisynth wiki
Jump to navigationJump to search
No edit summary |
Raffriff42 (talk | contribs) formatting, links, phrasing |
||
| Line 1: | Line 1: | ||
{{Template:FuncDef|RGBAdjust(clip ''clip'' [, float ''r'' | Multiplies each color channel with the given value, clipping the result at 0—255. | ||
__TOC__ | |||
== Syntax and Parameters == | |||
{{Template:FuncDef|RGBAdjust(clip ''clip'' [, <br> | |||
float ''r'', float ''g'', float ''b'', float ''a'', <br> | |||
float ''rb'', float ''gb'', float ''bb'', float ''ab'', <br> | |||
float ''rg'', float ''gg'', float ''bg'', float ''ag'', <br> | |||
bool ''analyze'', bool ''dither'' ] ) | |||
}} | |||
:{{Par2|r|float|1.0}} | |||
:{{Par2|g|float|1.0}} | |||
:{{Par2|b|float|1.0}} | |||
::Red, green and blue scaling factor. Range 0.0 to 255.0 | |||
::For example, {{FuncArg|r}}=3.0 multiplies the red channel pixel values by 3. | |||
:{{Par2|a|float|1.0}} | |||
::Alpha adjustment—the transparency information on a per-pixel basis. | |||
::An alpha value of zero represents full transparency, and a value of 1 represents a full opacity. | |||
:{{Par2|rb|float|0.0}} | |||
:{{Par2|gb|float|0.0}} | |||
:{{Par2|bb|float|0.0}} | |||
:{{Par2|ab|float|0.0}} | |||
::Bias adjustment—add a fixed positive or negative value to a channel's pixel values. For example, | |||
::{{FuncArg|rb}}=16 will add 16 to all red pixel values and | |||
::{{FuncArg|rb}}=-32 will subtract 32 from all red pixel values. | |||
:{{Par2|rg|float|1.0}} | |||
:{{Par2|gg|float|1.0}} | |||
:{{Par2|bg|float|1.0}} | |||
:{{Par2|ag|float|1.0}} | |||
::Gamma adjustment—an [[Wikipedia:Gamma_correction|exponential gain factor]]. For example, | |||
::{{FuncArg|rg}}=1.2 will brighten the red pixel values and | |||
::{{FuncArg|gg}}=0.8 will darken the green pixel values. | |||
:{{Par2|analyze|bool|false}} | |||
::If true, '''RGBAdjust''' will print color channel statistics on the screen (see [[#analyze|example below]]) | |||
::*There are '''Maximum''' and '''Minimum''' values for all channels. | |||
::*There is an '''Average''' and a '''Standard Deviation''' for all channels. | |||
::*There is '''Loose Minimum''' and '''Loose Maximum''' which ignore the brightest and darkest 0.4% (1/256) pixels. | |||
:{{Par2|dither|bool|false}} | |||
::If true, [[ordered dithering]] is applied when doing the adjustment. | |||
== Notes == | |||
*All arguments default—leaves the clip untouched: | |||
<div {{BoxWidthIndent|36|2}} > | |||
RGBAdjust'''(1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1) | |||
</div> | |||
*Keep in mind ALL the channels are not scaled to accommodate changes to one—for that you should use [[Levels]]. | |||
:So doing something like: | |||
<div {{BoxWidthIndent|24|2}} > | |||
RGBAdjust(2, 1, 1, 1) | RGBAdjust(2, 1, 1, 1) | ||
</div> | |||
will get you a whole lot of clipped red. If you WANT a whole lot of clipped red, there ya go - but if you want MORE red without clipping you'd do | :will get you a whole lot of clipped red. If you WANT a whole lot of clipped red, there ya go - but if you want MORE red without clipping you'd do | ||
<div {{BoxWidthIndent|36|2}} > | |||
[[Levels]](0, 1, 255, 0, 128).RGBAdjust(2, 1, 1, 1) | [[Levels]](0, 1, 255, 0, 128).RGBAdjust(2, 1, 1, 1) | ||
</div> | |||
This would scale all the levels (and average | :This would scale all the levels (and average luminance) by half, then double the red. Or more compact | ||
<div {{BoxWidthIndent|24|2}} > | |||
RGBAdjust(1.0, 0.5, 0.5, 1.0) | RGBAdjust(1.0, 0.5, 0.5, 1.0) | ||
</div> | |||
:This leaves the red and halves the green and blue. | |||
*To invert the alpha channel | |||
<div {{BoxWidthIndent|24|2}} > | |||
RGBAdjust(a=-1.0, ab=255) | |||
</div> | |||
:Thus alpha pixels values become a=(255-a). | |||
RGBAdjust( | == Examples == | ||
<div id="analyze" style="display:inline;font-size:50%;height:0;line-height:0;overflow:hidden;"></div> | |||
*Demonstrating {{FuncArg|analyze}} output | |||
<div {{BoxWidthIndent|24|2}} > | |||
[[FFmpegSource|FFmpegSource2]]("[http://www.sintel.org/ sintel].mp4") | |||
RGBAdjust(analyze=true) | |||
[[File:RGBAdjust_Ex1.jpg]] | |||
</div> | |||
== Changes == | |||
{| border="1" | {| border="1" | ||
| v2.60 | |||
| Added dither. | |||
|- | |- | ||
| v2.56 | | v2.56 | ||
| Added offsets, gamma, analyze. | | Added offsets, gamma, analyze. | ||
|} | |} | ||
[[Category:Internal filters]] | [[Category:Internal filters]] | ||
[[Category:Levels and Chroma filters]] | [[Category:Levels and Chroma filters]] | ||
Revision as of 04:18, 27 January 2016
Multiplies each color channel with the given value, clipping the result at 0—255.
Syntax and Parameters
RGBAdjust(clip clip [,
float r, float g, float b, float a,
float rb, float gb, float bb, float ab,
float rg, float gg, float bg, float ag,
bool analyze, bool dither ] )
- float r = 1.0
- float g = 1.0
- float b = 1.0
- Red, green and blue scaling factor. Range 0.0 to 255.0
- For example, r=3.0 multiplies the red channel pixel values by 3.
- float a = 1.0
- Alpha adjustment—the transparency information on a per-pixel basis.
- An alpha value of zero represents full transparency, and a value of 1 represents a full opacity.
- float rb = 0.0
- float gb = 0.0
- float bb = 0.0
- float ab = 0.0
- Bias adjustment—add a fixed positive or negative value to a channel's pixel values. For example,
- rb=16 will add 16 to all red pixel values and
- rb=-32 will subtract 32 from all red pixel values.
- float rg = 1.0
- float gg = 1.0
- float bg = 1.0
- float ag = 1.0
- Gamma adjustment—an exponential gain factor. For example,
- rg=1.2 will brighten the red pixel values and
- gg=0.8 will darken the green pixel values.
- bool analyze = false
- If true, RGBAdjust will print color channel statistics on the screen (see example below)
- There are Maximum and Minimum values for all channels.
- There is an Average and a Standard Deviation for all channels.
- There is Loose Minimum and Loose Maximum which ignore the brightest and darkest 0.4% (1/256) pixels.
- If true, RGBAdjust will print color channel statistics on the screen (see example below)
- bool dither = false
- If true, ordered dithering is applied when doing the adjustment.
Notes
- All arguments default—leaves the clip untouched:
RGBAdjust(1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1)
- Keep in mind ALL the channels are not scaled to accommodate changes to one—for that you should use Levels.
- So doing something like:
RGBAdjust(2, 1, 1, 1)
- will get you a whole lot of clipped red. If you WANT a whole lot of clipped red, there ya go - but if you want MORE red without clipping you'd do
Levels(0, 1, 255, 0, 128).RGBAdjust(2, 1, 1, 1)
- This would scale all the levels (and average luminance) by half, then double the red. Or more compact
RGBAdjust(1.0, 0.5, 0.5, 1.0)
- This leaves the red and halves the green and blue.
- To invert the alpha channel
RGBAdjust(a=-1.0, ab=255)
- Thus alpha pixels values become a=(255-a).
Examples
- Demonstrating analyze output
FFmpegSource2("sintel.mp4") RGBAdjust(analyze=true)
Changes
| v2.60 | Added dither. |
| v2.56 | Added offsets, gamma, analyze. |
