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

📄 gravitycenter.h

📁 上述是VIsualc++ 数字图像处理一书的源码
💻 H
字号:
#ifndef _GRAVITYCENTER_H_INCLUDED_
#define _GRAVITYCENTER_H_INCLUDED_

#include "StructDefine.h"

class CGravityCenter
{
public:
	TARGETPARA  m_result;
public:
	CGravityCenter(int nwidth,int nheight);
	virtual ~CGravityCenter();
	void InitalObjectTracker(BOOL type, int threshold);
	void GravityCenter(int index, unsigned char  * nRGBbuffer);

private:
    int m_frame;
	int m_width,m_height;
	int m_imageSize;
	int m_threshBH, m_threshW;
	int m_threshBHD,m_threshW1,m_threshW2,m_threshW3,m_threshW4;

	unsigned char *m_CurImage;		    //当前RGB图像
	unsigned char *m_CurGrayImage;		//当前Gray图像
	unsigned char *m_TempGrayImage;		//过渡帧Gray图像
	unsigned char *m_PreGrayImage;      //上一帧Gray图像

	BOOL trackflag;             //捕获/跟踪切换
	WININFO m_TargetWin;        //目标窗口
	WININFO m_DrawWin;          //显示外接窗口
    UINT m_ObjectType;          //目标类型
	UINT m_ObjectNum;           //目标个数
	bool permitflag1,permitflag2,permitflag3,permitflag4;
	bool captureflag1,captureflag2,captureflag3,captureflag4;
	WININFO m_TargetWin1, m_TargetWin2, m_TargetWin3, m_TargetWin4;
	WININFO m_DrawWin1, m_DrawWin2, m_DrawWin3, m_DrawWin4;
	BOOL m_otype;
	UINT m_threshold, m_thresholdT;
	UINT m_colorType;

public:
	int GetBHThByHistogram(unsigned char *sGray,int nWidth, int nHeight);
	int GetWThByHistogram(unsigned char *sGray, WININFO sWin, int nWidth, int nHeight);
	int GetWThByAera(unsigned char *sGray, WININFO sWin, int nWidth, int nHeight);

	WININFO project(unsigned char* sGray, int sWidth, int sHeight, int sThreshold);
	WININFO gravity(unsigned char* sGray, int sWidth, int sHeight,int sThreshold);
	WININFO findEdge(unsigned char* sGray, int sWidth, int sHeight, int sThreshold, int sBlockNum);
	
	WININFO AdjustWindow(WININFO sWin, int sWidth, int sHeight);
	void erasure(unsigned char *sGray, WININFO sWin, int sWidth, int sHeight);
	WININFO gvtrack(unsigned char* sGray, int sWidth, int sHeight, WININFO sWin, int sThreshold);
	WININFO match(int* sGray, int* sTemp, int sWidth, int sHeight, int sTWidth, int sTHeight);

    void RGBToGray(unsigned char *sRGB, unsigned char *sGray, int nWidth, int nHeight);
    void Segment(unsigned char *sGray, int nWidth, int nHeight, int nThreshold);
    void Inverse(unsigned char *sGray, int nWidth, int nHeight);
	unsigned long GetBoxColor();
	void SetPixelValues(unsigned char *sRGB,unsigned long pixelValues, int x, int y);
	void DrawObjectBox(unsigned char *sRGB, WININFO sWin);
	void SaveGrayImage(unsigned char *sGray,int nwidth, int nheight);
	void SaveRGBImage(unsigned char *sRGB,int nwidth, int nheight);
	void Initial();

};

#endif

⌨️ 快捷键说明

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