⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clustering.h

📁 该程序用于在线数字签名,可以将读入的图像与用户开户时录入的图像比较,从而确定身份的合法性.
💻 H
字号:
/////////////////////////////////////////////////////////////////
// File Name:		Clustering.h
// File Function:	1. Maximun clustering algorithm
//					2. LBG (k-Mean) clustering algorithm
//////////////////////////////////////////////////////////////////////

#ifndef		__CLUSTERING_H__
#define		__CLUSTERING_H__

struct   VQ_VECTOR
{
	double*	Data;		//Input vector
	int		nDimension;	//Dimension of input vector
	int		nCluster;	//Class the vector belong to during clustering
						//Value may changed every epoch
	char*	pFileName;
};

struct   VQ_CENTER
{
	double*	Data;	//Clustering center vector
	int		nDimension;//Dimension of center vector
	int		Num;	//Number of vectors belong to the clustering
};

//Calculate the correlation of two vectors
/*********************************************************************
/*	Name:		GetCorrelation
/*	Function:	Calculate correlation of two vectors
/*	Parameter:	X -- Vector one
/*				Y -- Vector two
/*				nDimension -- Dimension of the vectors
/*	Return:		Correlation of two vectors
/*	
/*********************************************************************/
double	GetCorrelation( double* X, double*	Y, int nDimension );

//LBG clustering algorithm
/******************************************************************************
/*	Name:		LBGCluster
/*	Function:	Clustering input vectors using LBG algorithm
/*				Using Euclidean distance
/*	Parameter:	X -- Input vecters
/*				N -- Number of input vectors
/*				Y -- Clustering result
/*				M -- Number of clustering center
/*	Return:		0 -- Correct
/*				1 -- Error
/*
/******************************************************************************/
int		LBGCluster(VQ_VECTOR *X, int N, VQ_CENTER *Y, int M);

//LBG clustering algorithm using correlation distance
/******************************************************************************
/*	Name:		LBGClusterCor
/*	Function:	Clustering input vectors using LBG algorithm
/*				Using correlation distance
/*	Parameter:	X -- Input vecters
/*				N -- Number of input vectors
/*				Y -- Clustering result
/*				M -- Number of clustering center
/*	Return:		0 -- Correct
/*				1 -- Error
/*
/******************************************************************************/
int		LBGClusterCor(VQ_VECTOR *X, int N, VQ_CENTER *Y, int M);

//Max clustering algorithm
/******************************************************************************
/*	Name:		MaxCluster
/*	Function:	Clustering input vectors using Maximum algorithm
/*	Parameter:	X -- Input vecters
/*				N -- Number of input vectors
/*				Y -- Clustering result
/*				M -- Number of clustering center
/*	Return:		0 -- Correct
/*				1 -- Error
/*
/******************************************************************************/
int		MaxCluster(VQ_VECTOR *X, int N, VQ_CENTER *Y, int M);


//Dump clustering result to text file for debugging
/******************************************************************************
/*	Name:		DumpClusterData
/*	Function:	Dump clustering result to a text file for debugging
/*	Parameter:	FileName -- Dump text file name
/*				X -- Input vecters
/*				N -- Number of input vectors
/*				Y -- Clustering result
/*				M -- Number of clustering center
/*	Return:		0 -- Correct
/*				1 -- Error
/*
/******************************************************************************/
int		DumpClusterData(CString FileName, VQ_VECTOR *X, int N, VQ_CENTER *Y, int M);

#endif //__CLUSTERING_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -