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

📄 image.h

📁 机器人处理中使用USB摄像机的例子程序.
💻 H
字号:
// Image.h: interface for the CImage class.
// Author : Lamon Pierre 2000
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_IMAGE_H__62E8CE80_9172_11D3_95F1_00600895DAA5__INCLUDED_)
#define AFX_IMAGE_H__62E8CE80_9172_11D3_95F1_00600895DAA5__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Dibapi.h"
#include "Utils.h"

#ifndef ALL_IMAGE
#define ALL_IMAGE     0
#endif

#ifndef TRUNK_IMAGE
#define TRUNK_IMAGE   1
#endif  

#ifndef STRETCH_IMAGE
#define STRETCH_IMAGE 2
#endif

#ifndef BLUE_CHANNEL
#define BLUE_CHANNEL 0
#endif

#ifndef GREEN_CHANNEL
#define GREEN_CHANNEL 1
#endif

#ifndef RED_CHANNEL
#define RED_CHANNEL 2
#endif

#ifndef GRAY_CHANNEL
#define GRAY_CHANNEL 5
#endif

#ifndef RG_CHANNEL
#define RG_CHANNEL  6
#endif

#ifndef RGB_CHANNEL
#define RGB_CHANNEL 7
#endif

#ifndef HUE_CHANNEL
#define HUE_CHANNEL  0
#endif

#ifndef SAT_CHANNEL
#define SAT_CHANNEL  1
#endif

#ifndef INT_CHANNEL
#define INT_CHANNEL  2
#endif

#ifndef MODE_NORMAL
#define MODE_NORMAL  1
#endif

#ifndef MODE_PASS_ZERO
#define MODE_PASS_ZERO  2
#endif

#ifndef MODE_LET_PIXEL_INFO_IN
#define MODE_LET_PIXEL_INFO_IN 3
#endif

#ifndef MODE_LET_PIXEL_INFO_IN_AND_HISTOGRAM
#define MODE_LET_PIXEL_INFO_IN_AND_HISTOGRAM 4
#endif

class CImage  
{
public:
			
	BYTE		**Pixel;			// Array of pointers on lines
	HDIB		hDIB;				// Handle of the DIB
	BITMAPINFOHEADER	*pHead;		// Pointer on the header of the DIB
	BYTE		*pBits;
	short		bPerPixel;			// Numbe of bytes per one pixel 

	CImage();
	CImage(long width, long height, short bPerPix);
	virtual ~CImage();

	BOOL ReadFromFile (CString filename);
	BOOL StoreInFile(CString filename);
	void DisplayImage (HDC pHdc, int xDest, int yDest, int dWidth, int dHeight, int fcol, int mode, int mask);
	void GetPixelRGB(int nCol, int nLin, BYTE *r, BYTE *g, BYTE *b);
	void GetPixelHSI(int nCol, int nLin, BYTE *h, BYTE *s, BYTE *i);
	void SetPixel (int nCol, int nLin, BYTE r, BYTE g, BYTE b);
	void DisplayInfo();
	void Set2DVectors();
	void ExtractChannel (CImage *dest, short channel);
	void CopyToImage(CImage *dest,int dfrom, int sfrom, int sto, short mode);
	void Filter_3x3(CImage *dest, short channel, BOOL fast, MATRIX_3X3 mat);
	void HSI_Values(CImage *dest);
	void AfxHSI(int nCol, int nLine);
	void AfxRGB(int nCol, int nLine);
	void TresholdImage (CImage *dest, short chan, short tresh, short treshhigh, int *HueHist, short mode);
    void ComputeColHistogram (int *hist, short middle, short range, short addmax);

private:
	void Free2DVectors();

	void GetImageHeader ();
	void GetBitsPointer ();
	
};

#endif // !defined(AFX_IMAGE_H__62E8CE80_9172_11D3_95F1_00600895DAA5__INCLUDED_)

⌨️ 快捷键说明

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