• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

src/N900/Platform.cpp

00001 
00002 #include <FCam/processing/Color.h>
00003 #include "Platform.h"
00004 
00005 
00006 namespace FCam { namespace N900 {
00007     
00008     void Platform::rawToRGBColorMatrix(int kelvin, float *matrix) {      
00009         float alpha = ((float)kelvin-3200)/(7000-3200);
00010         colorMatrixInterpolate(RawToRGBColorMatrix3200K,
00011                                RawToRGBColorMatrix7000K,
00012                                alpha, matrix);
00013     }
00014     
00015     // These are quick and dirty numbers computed using a random
00016     // outdoor overcast day, and interior office lighting.  The 3x3
00017     // linear portion of the matrices are scaled so that the minimum
00018     // row sum is one (i.e. saturated in all channels maps to white).
00019     float Platform::RawToRGBColorMatrix3200K[] = {                
00020         1.6697,   -0.2693,   -0.4004,  -42.4346,
00021         -0.3576,    1.0615,    1.5949,  -37.1158,
00022         -0.2175,  -1.8751,    6.9640,  -26.6970
00023     };
00024         
00025     float Platform::RawToRGBColorMatrix7000K[] = {
00026         2.2997,   -0.4478,    0.1706,  -39.0923,
00027         -0.3826,    1.5906,   -0.2080,  -25.4311,
00028         -0.0888,   -0.7344,    2.2832,  -20.0826
00029     };
00030     
00031     std::string Platform::manufacturer = "Nokia";
00032     std::string Platform::model = "Nokia N900";
00033     unsigned short Platform::minRawValue = 0;
00034     unsigned short Platform::maxRawValue = 959;
00035     BayerPattern Platform::bayerPattern = GRBG;
00036 }}

Generated on Thu Jul 15 2010 17:51:28 for FCam by  doxygen 1.7.1