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

📄 meanshiftsegger.h

📁 数字图像处理
💻 H
字号:
#ifndef MEANSHIFTSEGGER_H_INCLUDE
#define MEANSHIFTSEGGER_H_INCLUDE
#define HISTOGRAM_LENGTH 4096   //直方图长度

typedef unsigned char pixel;

class MeanShiftSegger{

public:
	MeanShiftSegger();
	~MeanShiftSegger();
private:
	int imgWidth;   //图像宽度
	int imgHeight;  //图像高度

	int trackWinWidth;  //窗口宽度
	int trackWinHeight;  //窗口高度		
	int currentX;       //当前目标横坐标
	int currentY;       //当前目标纵坐标

private:
	float currHistogram[HISTOGRAM_LENGTH];  //当前直方图
	float tempHistogram[HISTOGRAM_LENGTH];  //目标直方图摸板
public:

    //计算Bhattacharyya系数
	float CalculateBhattacharyya(float initHistogram[HISTOGRAM_LENGTH],float tempHistogram[HISTOGRAM_LENGTH]);

    //设置目标位置
	void InitMeanShiftTracker(unsigned char* firstFrame,int frameWidth,int frameHeight,int targetPosX,int targetPosY,int targetWidth,int targetHeight);
    //计算目标直方图	
	int CalculateHistogramSp(unsigned char*  frame,char kernel,float histogram[HISTOGRAM_LENGTH]);

	//Mean Shift 迭代过程
	void MeanShiftProcessSp(unsigned char * frame);
    //Mean Shift跟踪操作函数
	void MeanShiftTrackProcess(unsigned char*  frame,int frameNumber);
	//根据当前跟踪窗口的大小和目标位置绘制跟踪窗
	void DrawTrackBox(unsigned char*  frame);

};
#endif

⌨️ 快捷键说明

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