#pragma once

#include "detect.h"

#define CASMATCH			"data\\CasmatchTmpl_v2.jpg"
#define SEARCH_AREA			400		// キャスマッチを探索するコーナー領域のサイズ
#define C_ROTATE_STEP		2.0		// キャスマッチを回転探索する角度刻み（度）
#define C_PATCH_SIZE		3		// パッチの色を平均する領域サイズ
#define NUM_CASMATCH		2		// キャスマッチの数
#define C_NUM_PATCH			9		// キャスマッチ内パッチ数

//// キャスマッチ画像 CasmatchTmpl.jpg から計算
//// 中心パッチ座標 39,39 黒パッチ座標 20,45 (-19,+6)
//#define BLACK_ANGLE 160.0 // =atan(+6/-19) (degree)
//#define BLACK_LEN   19.5  // =sqrt((+6)^2 + (-19)^2)
// キャスマッチ画像 CasmatchTmpl_v2.jpg から計算
// 中心パッチ座標 25,25 黒パッチ座標 39,23 (+14,-2)
#define BLACK_ANGLE 175.0 // =atan(-2/+14) (degree)
#define BLACK_LEN   14.1  // =sqrt((-2)^2 + (+14)^2)


class CDetectCasmatch :
	public CDetect
{
private:
	bool CalcPatchPosition(CvPoint pos, double angle, int place);

public:
	CDetectCasmatch(void);
	~CDetectCasmatch(void);
	bool Init();
	bool Detect();
	bool CalcPatchColor9(CvMat **rgb);
};
