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 revision
Previous revision
isp:contrast [2023/09/05 05:38] – [In RGB color space] Igor Yefmovisp:contrast [2023/09/10 21:53] (current) – [Integer arithmetic] Igor Yefmov
Line 7: Line 7:
  
 ===== In RGB color space ===== ===== In RGB color space =====
-As with the [[isp::brightness]] adjusting contrast in RGB color space requires us to pay attention to proportionally adjust the individual color components of the pixel to preserve their relative ratios. 
  
-Traditionally the luminance is calculated as (see [[isp:luminance]])+Each component's contrast adjustment is based on its value and the adjustment itself is calculated as
  
 \[ \[
-lum = 0.2126 * R + 0.7152 * G + 0.0722 * B +component = (component0.5) * k^2 + 0.5 \\ 
-\] +component' \in [0..1.0] \\
- +
- +
- +
-With that in mind each component's contrast adjustment is based on its luma's weight \(k\) and the adjustment itself is calculated as +
- +
-\[ +
-component = (component - 50*k) * contrast^2 + 50*k \\ +
-luma \in [0..100] \\+
 contrast \in ]0..2.0]%% contrast \in ]0..2.0]%%
 \] \]
  
-which looks like this: 
  
-\[ +==== Integer arithmetic ==== 
-\begin{bmatrix} +Of course, much like in [[isp::brightness]] case, we'd like to not use floating point arithmetic, so for the 12-bit pixel components and taking into account that the \(contrast\) is in range \([0..2047]\), the math looks like the following:
-R - 50 * 0.2126 \\ +
-G - 50 * 0.7152 \\ +
-B - 50 * 0.0722 +
-\end{bmatrix} \times contrast^2 +
-+
-\begin{bmatrix} +
-50 * 0.2126 \\ +
-50 * 0.7152 \\ +
-50 * 0.0722 +
-\end{bmatrix} +
-\]  +
- +
-which easily simplifies to +
- +
-\[ +
-\begin{bmatrix} +
-R - 10.63 \\ +
-G - 35.76 \\ +
-B - 3.61 +
-\end{bmatrix} \times contrast^2 +
-+
-\begin{bmatrix} +
-10.63 \\ +
-35.76 \\ +
-3.61 +
-\end{bmatrix} +
-\]  +
- +
-Of course, much like in [[isp::brightness]] case, we'd like to not use floating point arithmetic:+
  
 \[ \[
Line 65: Line 26:
 G  \\ G  \\
 B B
-\end{bmatrix} \times 1024+\end{bmatrix}
 - -
 \begin{bmatrix} \begin{bmatrix}
-10885 \\ +2047 \\ 
-36618 \\ +2047 \\ 
-3697 +2047 
-\end{bmatrix} \right) +\end{bmatrix} \right) \times contrast^2 
- \times contrast^2 ++}{1024*1024} +
 \begin{bmatrix} \begin{bmatrix}
-10885 \\ +2047 \\ 
-36618 \\ +2047 \\ 
-3697+2047
 \end{bmatrix} \end{bmatrix}
-}{1024} 
 \]  \] 
- 
  
 ===== In HSL color space ===== ===== In HSL color space =====

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