Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
isp:ccm [2021/01/27 23:40] – [Pixel layout] Igor Yefmov | isp:ccm [2023/09/12 23:07] (current) – [Support] Igor Yefmov | ||
---|---|---|---|
Line 6: | Line 6: | ||
{{ : | {{ : | ||
- | ===== Support ===== | ||
- | SUB2r camera starts supporting CCM (a.k.a. CMX) with **FX3 v. '' | ||
- | |||
- | ===== 3x3 -> 4x4 ===== | ||
- | Industry papers on CCM use a \(3\times3\) matrix yet we tried to do a full \(4\times4\) so there was a need to find a way to convert from one to another (and also from an RGGB into BGGR ordering). Here's an [[https:// | ||
- | |||
- | And if you'd like to play with the values in an Excel-like environment - here's a [[https:// | ||
- | |||
- | After some research and a bit of math crunching it turned out that such an approach is invalid. Primarily because it ignores a very important step - de-bayering, | ||
- | |||
- | Therefore we go with the " | ||
===== CCM ===== | ===== CCM ===== | ||
- | Color Correction Matrix is often used as an " | + | Color Correction Matrix is often used as an " |
\[ | \[ | ||
- | | + | |
= | = | ||
| | ||
Line 31: | Line 20: | ||
\cdot | \cdot | ||
| | ||
- | B_0 \\ | + | R_0 \\ |
G_0 \\ | G_0 \\ | ||
- | R_0 | + | B_0 |
| | ||
\] | \] | ||
+ | |||
+ | Regular linear algebra rules apply, of course. The calculation itself (once expanded) looks like this: | ||
+ | |||
+ | \[ | ||
+ | R = CCM_{00} * R_0 + CCM_{01} * G_0 + CCM_{02} * B_0 \\ | ||
+ | G = CCM_{10} * R_0 + CCM_{11} * G_0 + CCM_{12} * B_0 \\ | ||
+ | B = CCM_{20} * R_0 + CCM_{21} * G_0 + CCM_{22} * B_0 | ||
+ | \] | ||
+ | ===== 3x3 -> 4x4 ===== | ||
+ | Industry papers on CCM use a \(3\times3\) matrix yet we tried to do a full \(4\times4\) so there was a need to find a way to convert from one to another (and also from an RGGB into BGGR ordering). Here's an [[https:// | ||
+ | |||
+ | And if you'd like to play with the values in an Excel-like environment - here's a [[https:// | ||
+ | |||
+ | After some research and a bit of math crunching it turned out that such an approach is invalid. Primarily because it ignores a very important step - de-bayering, | ||
+ | |||
+ | Therefore we go with the " | ||
+ | |||