User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
isp:hsl-_rgb [2021/07/24 13:53] – [Step-by-step algorithm (10x3 bit channel, 30-bit RGB)] Igor Yefmovisp:hsl-_rgb [2021/07/24 14:37] – [Step-by-step algorithm (10x3 bit channel, 30-bit RGB)] Igor Yefmov
Line 92: Line 92:
 | 2 | \[S\] | \[sat(pixel)\] |  ''9''  | \[0..511\] | <code>S = pixel.sat();</code> | \[^1/_2\] | | 2 | \[S\] | \[sat(pixel)\] |  ''9''  | \[0..511\] | <code>S = pixel.sat();</code> | \[^1/_2\] |
 | 3 | \[L\] | \[luma(pixel)\] |  ''12''  |  \[0..4095\] mapped into \(0..255\)  | <code>L = pixel.luma();</code> | \[\frac{1}{2^4}\] | | 3 | \[L\] | \[luma(pixel)\] |  ''12''  |  \[0..4095\] mapped into \(0..255\)  | <code>L = pixel.luma();</code> | \[\frac{1}{2^4}\] |
-| 4 | \[h\] | \[(H+360^\circ) \bmod 360^\circ\] |  ''14''  |  \[0..16383\] mapped into \(0^\circ..+360^\circ\)  | <code>h = (H > 0 ? H : H + 16383);</code> | \[\frac{180}{2^{13}}\] | +| 4 | \[h\] | \[(H+360^\circ) \bmod 360^\circ\] |  ''14''  |  \[0..16383\] mapped into \(0^\circ..+360^\circ\)  | <code>h = (H > 0 ? H : H + 16383);</code> | \[\frac{360}{2^{14}}\] | 
-| 5 | \[L^\prime\] | \[1-|2L-1|\] |  ''12'' \[0..510\] | <code>L_prime = 2^12 - abs(2 * L - 2^12);</code> | \[\frac{1}{2^12}\] | +| 5 | \[L^\prime\] | \[1-|2L-1|\] |  ''12''  | | <code>L_prime = 2^12 - abs(2 * L - 2^12);</code> | \[\frac{1}{2^{12}}\] | 
-| 6 | \[C\] | \[L^\prime \times S\] |  ''21'' \[0..2^21-1\] | <code>C = L_prime * s;</code> | \[\frac{1}{2^21}\] |+| 6 | \[C\] | \[L^\prime \times S\] |  ''21''  | | <code>C = L_prime * s;</code> | \[\frac{1}{2^{21}}\] |
 | 7 | \[H^\prime\] | \[\frac{H}{60^\circ}\] |  ''23''  |  \[0..2^23-1\] mapped into \(0..6\)  | <code>Hp = H * 273;</code> | \[\frac{180}{2^{27}}\] | | 7 | \[H^\prime\] | \[\frac{H}{60^\circ}\] |  ''23''  |  \[0..2^23-1\] mapped into \(0..6\)  | <code>Hp = H * 273;</code> | \[\frac{180}{2^{27}}\] |
-| 8 | \[H^\prime_2\] | \[H^\prime \bmod 2\] |  ''10'' \[0..727\] | <code>Hp2 = Hp - (91 * 2^3) * ((Hp * 90) >> 16)</code>((optimized from <code>Hp2 = Hp % (2^* 273 / 3);</code>)) | \[\frac{45}{2^{14}}\] | +| 8 | \[H^\prime_2\] | \[H^\prime \bmod 2\] |  ''21''  | | <code>Hp2 = Hp - (91 * 2^14) * (Hp * 90) >> 27)</code>((optimized from <code>Hp2 = Hp % (2^14 * 273 / 3);</code>)) | \[\frac{180}{2^{27}}\] | 
-| 9 | \[H^\prime_{2-1}\] | \[H^\prime \bmod 2 - 1\] |  ''10''\\ signed \[-364..+363\] | <code>Hp2m1 = Hp2 - 2^2 * 91;</code> | \[\frac{45}{2^{14}}\] |+| 9 | \[H^\prime_{2-1}\] | \[H^\prime \bmod 2 - 1\] |  ''10''\\ signed  | | <code>Hp2m1 = Hp2 - 2^2 * 91;</code> | \[\frac{180}{2^{27}}\] |
 | 11 | \[H^\prime_{final}\] | \[1-|H^\prime \bmod 2 - 1|\] |  ''9''  |  \[0..364\] mapped into \(0..1\)  | <code>Hpf = 91 * 2^2 - abs(Hp2m1);</code> | \[\frac{45}{2^{14}}\] | | 11 | \[H^\prime_{final}\] | \[1-|H^\prime \bmod 2 - 1|\] |  ''9''  |  \[0..364\] mapped into \(0..1\)  | <code>Hpf = 91 * 2^2 - abs(Hp2m1);</code> | \[\frac{45}{2^{14}}\] |
 | 12 | \[X\] | \[C \times H^\prime_{final}\] |  ''9''  | \[0..510\] | <code>X = ((C * Hpf * 180) >> 16);</code> | \[\frac{1}{2^9}\] | | 12 | \[X\] | \[C \times H^\prime_{final}\] |  ''9''  | \[0..510\] | <code>X = ((C * Hpf * 180) >> 16);</code> | \[\frac{1}{2^9}\] |

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information