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

📄 dib.h

📁 《数字图象工程案例》原码
💻 H
字号:
// DIB.h: interface for the DIB class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DIB_H__A2ADDB4C_F0D1_4301_B08F_262BB56BC373__INCLUDED_)
#define AFX_DIB_H__A2ADDB4C_F0D1_4301_B08F_262BB56BC373__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define HDIB  HANDLE 
#define RADIUS 15


class DIB  
{
	
public:

	HANDLE PicLinkZy(HANDLE hDIBL,HANDLE hDIBR,int scrolll,int scrollr,int scrolllh,int scrollrh);
	void PicAssemble(HANDLE hDIB,CPoint mousepos,CPoint scroll,bool type,int width,int height);

	void WangGeHua(HDIB hDIB ,int steplen,float jwm);
	HANDLE  CopyHandle(HANDLE hSrc);
	void  interPolate(LPBYTE Src,int x,int y, float u,float v, int scanw, int scanh,int *r,int *g,int *b);
	HANDLE ScaleDIB(HANDLE hDIB,float scal_x,float scal_y);

	void ReduceColor(HDIB hDIB ,int numcolor);
	int m_Histogram[256];
	BOOL   SaveDIB(HDIB hDib, CFile& file);
	HANDLE    AdjestDIB(HANDLE hDib);
    void      ThinningDIB(HANDLE hDIB);
	void	  MatchImportantPoint(HANDLE hDIB,int CharaterInfo[RADIUS*2+1][RADIUS*2+1][3],CPoint *ImPoint);
	int		  height;
	int		  width;
	HDIB      LoadDIB(LPCTSTR lpFileName);
	HDIB      ReadDIBFile(HANDLE hFile);
	HPALETTE  CreateGrayPalette(void);
	BOOL      PaintDIBTrue(HDC hDC,LPRECT lpDCRect,HANDLE hDIB,LPRECT lpDIBRect,DWORD dwRop);
	BOOL      PaintDIBGray(HDC hDC,LPRECT lpDCRect,HANDLE hDIB,LPRECT lpDIBRect,HPALETTE hPal,DWORD dwRop);
	WORD      BytePerLine(HANDLE hDIB);
	HDIB      ContrastEnhance(HANDLE hDIB,int n);
	void      IncreaseContrast(BYTE *pByte,int n);
	LPBYTE    FindDIBBits(HANDLE hDIB);
	long	  PixelOffset(int i,int j,WORD wBytePerLine);
	int		  BOUND(int a ,int b ,int rgb);
	void 	  WhiteBlack(HANDLE hDIB,unsigned n);
	int       ColorNumDIB(HANDLE hDIB);



	DIB();
	virtual ~DIB();

private:
	void JudgeDomain(int hisdata[], int ipoint,int *imin,int *imax);
	int  FindK(int hisdata[], int k[10][2],int numcolor);
	bool IsValley(int hisdata[], int point);
	bool Kjudge(int source[], int point,int lenth,int threshold);
	int		PerimeterCell[255];

};

#endif // !defined(AFX_DIB_H__A2ADDB4C_F0D1_4301_B08F_262BB56BC373__INCLUDED_)

⌨️ 快捷键说明

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