www.pudn.com > backmode824.rar > KCluster.h


// KCluster.h: interface for the CKCluster class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_KCLUSTER_H__D4178D5D_E86A_4AD8_9A9C_E83268E9A9BF__INCLUDED_) 
#define AFX_KCLUSTER_H__D4178D5D_E86A_4AD8_9A9C_E83268E9A9BF__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#ifdef    IHARDWARE 
      #define   BITS       4 
#else      
      #define   BITS       3 
#endif 
 
class CKCluster   
{ 
public: 
	BOOL     KClusterHS(double *lpMeanValue,int ClusterNum, 
		                 int IterativeNum,double  error); 
	BOOL     KClusterRGB(double  *lpMeanValue,int ClusterNum,						   
						  int IterativeNum, double error); 
	void     InitData( LPBITMAPINFOHEADER lpMapHeader, 
		               LPBYTE lpImage,LPBYTE lpDMap, 
			 		   LPBYTE lpHMap,LPBYTE lpSMap ); 
	 
	CKCluster(); 
	virtual ~CKCluster(); 
 
private:  
	LPBITMAPINFOHEADER  m_lpMapHeader;//图象头指针 
	LPBYTE              m_lpImage;//图象数据指针 
	LPBYTE              m_lpDMap;//处理图象数据指针 
	LPBYTE              m_lpHMap;//H图象数据指针 
	LPBYTE              m_lpSMap;//S图象数据指针 
 
	double             CostFuncHS(double *d1,double *d2); 
	double             CostFuncRGB(double *d1,double *d2); 
 
}; 
 
#endif // !defined(AFX_KCLUSTER_H__D4178D5D_E86A_4AD8_9A9C_E83268E9A9BF__INCLUDED_)