#pragma once
#include "mregression.h"
#define LINEARIZE_DIM (3+1) // 線形化は3次式でフィッティング
#define NUM_PATCH_LINEARIZE 6 // 線形化に用いるパッチ数
#define REFLECTANCE_LIST {1.5, 1.05, 0.7, 0.44, 0.23, 0.05} // 無彩色パッチの反射率
#define REFLECTANCE_LIST3 {1.5, 1.5, 1.5, 1.05, 1.05, 1.05, \
0.7, 0.7, 0.7, 0.44, 0.44, 0.44, 0.23, 0.23, 0.23, 0.05, 0.05, 0.05}
class CMRegressionLinear :
public CMRegression
{
private:
virtual CvMat *GenConvertEachCh(const CvMat *data);
virtual CvMat *GenConvertNoGetX(const CvMat *data);
public:
CMRegressionLinear(void);
~CMRegressionLinear(void);
bool CalcCoef(const CvMat *rgbX);
double GetX(const CvMat *mat, const int sample, const int index);
bool CalcCurve();
virtual CvMat *GenConvert(const CvMat *data);
virtual IplImage *GenConvert(const IplImage *data);
};