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
00016
00017
00018
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 }}