#pragma once

#include <stdio.h>
#include <cxcore.h>
#include <cv.h>
#include <highgui.h>

#define MACBETH_PATH "D:\\usr\\work\\舌data\\MiniMacbeth0.jpg"
#define MAX_PATH_LEN 1024
#define SEARCH_AREA 200
#define PATCH_SIZE 4
#define DISP1 "DISPLAY1"
#define DISP2 "DISPLAY2"
#define ROTATE_RESOLUTION 2.0	// Searching rotation interval in degree

// ミニマクベス画像 MiniMacbeth0.jpg から計算
// 中心パッチ座標 39,39 黒パッチ座標 20,45 (-19,+6)
#define BLACK_ANGLE 161.0 // =atan(+6/-19) (degree)
#define BLACK_LEN   20.0  // =sqrt((+6)^2 + (-19)^2)


class MiniMacbeth
{
private:
	IplImage *m_macbeth;
	IplImage *m_camera;
	IplImage *m_show;
	FILE *m_fpOutput;

public:
	MiniMacbeth(void);
	~MiniMacbeth(void);
	bool Init();
	bool ReadImage(char *filename);
	bool OpenOutputFile(char *filename);
	bool Process();
	bool PatchProc(int x, int y, CvScalar *ave, CvScalar *stdev);
	bool ShowImage();
};
