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

📄 discretehmm.h

📁 读入图像序列
💻 H
字号:
/************************************************
*
*离散HMM封装类头文件
*作者:周庚涛
*时间:2006.03.29
*
*第一次修改者:周庚涛
*第一次修改时间 :2006.6.21
*第二次此改者:周庚涛
*第二次修改时间 :2006.9.18
*************************************************/


#ifndef _DISCRETEHMM_H
#define _DISCRETEHMM_H

#define  VITHUGE  10000000000.0
#define  DELTA  0.001
#include "myconst.h"

class CDiscreteHmm
{
protected:

	/*enum { N = 3, M = 59 , T= 640, NUM = 4};*///N:状态个数,M:观察值个数,T观察序列长度;
    enum { N = 3, M = 59, T=FEATURENUM-EYEFEATURENUM, NUM =TRAINNUM};
public:
	double A[N][N];  //状态转移距阵
	double B[N][M];  //观查值概率距阵
	double pi[N];   //初始状态分布	

public:

	CDiscreteHmm();
	~CDiscreteHmm();


	void ForwardWithScale(int O[T], double alpha[T][N],double scale[T], double & pprob);
	
	void BackwardWithScale(int O[T], double beta[T][N],double scale[T]/*,double & pprob*/);
	
	int BaumWelch(int O[NUM][T]);

	

	void ComputeGamma(double alpha[T][N], double beta[T][N], double gamma[T][N]);
	void ComputeXi(int O[T], double alpha[T][N], double beta[T][N], double xi[T][N][N]);
	void ViterbiLog(int O[T], int q[T], double &pprob);

	int GetN()
	{
		return  N;
	}

	int GetM()
	{
		return M;
	}
	int GetT()
	{
		return T;
	}


};

#endif

⌨️ 快捷键说明

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