📄 image.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 + -