📄 globalfunction.h
字号:
// GlobalFunction.h
#include "Dibapi.h"
#ifndef _INC_GlobalFunctionAPI
#define _INC_GlobalFunctionAPI
#include <complex>
using namespace std;
#define PI 3.1415926535
#define TRAINDATANUM 10 // 用于训练的数字样本的个数,应为10的整数倍
#define TRAINDATALET 26 // 用于训练的字母样本的个数,应为26的整数倍
//角度到弧度转化的宏
#define RADIAN(angle) ((angle)*PI/180.0)
// 函数原型
BOOL WINAPI LinerTrans(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, FLOAT fA, FLOAT fB);
BOOL WINAPI ThresholdTrans(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BYTE bThre);
BOOL WINAPI WindowTrans(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BYTE bLow, BYTE bUp);
BOOL WINAPI GrayStretch(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BYTE bX1, BYTE bY1, BYTE bX2, BYTE bY2);
BOOL WINAPI InteEqualize(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
HGLOBAL WINAPI ZoomDIB(LPSTR lpbi, float fXZoomRatio, float fYZoomRatio);
HGLOBAL WINAPI RotateDIB(LPSTR lpbi, int iRotateAngle);
VOID WINAPI FFT(complex<double> * TD, complex<double> * FD, int r);
BOOL WINAPI ErosionDIB (LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BOOL bHori , int structure[3][3]);
BOOL WINAPI DilationDIB (LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BOOL bHori , int structure[3][3]);
BOOL WINAPI OpenDIB (LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BOOL bHori , int structure[3][3]);
BOOL WINAPI CloseDIB (LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BOOL bHori , int structure[3][3]);
BOOL WINAPI ThiningDIB (LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI RobertDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI SobelDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI PrewittDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI KirschDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI GaussDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI DifferDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI PlateDIB1(LPSTR lpDIBBits, LONG lWidth, LONG lHeight,int* pPlateLine);
BOOL WINAPI PlateDIB2(LPSTR lpDIBBits, LONG lWidth, LONG lHeight,int* pPlateLine);
BOOL WINAPI Template(LPSTR lpDIBBits, LONG lWidth, LONG lHeight,
int iTempH, int iTempW,
int iTempMX, int iTempMY,
FLOAT * fpArray, FLOAT fCoef);
BOOL WINAPI MedianFilter(LPSTR lpDIBBits, LONG lWidth, LONG lHeight,
int iFilterH, int iFilterW,
int iFilterMX, int iFilterMY);
unsigned char WINAPI GetMedianNum(unsigned char * bArray, int iFilterLen);
BOOL WINAPI GradSharp(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BYTE bThre);
int* RowscanDIB1(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
int* RowscanDIB2(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, int* pPlateLine);
int* RowscanDIB3(LPSTR lpDIBBits, LPSTR lpOrgDIBBits, LONG lWidth, LONG lHeight,int* pPlateLine);
int* RowscanDIB4(LPSTR lpDIBBits,LONG lWidth, LONG lHeight);
BOOL WINAPI CharacterUnit(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI CharacterUnit1(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, int iWidth, int iHeight);
BOOL WINAPI BPReco();
unsigned char WINAPI BPReco13Section(float* pRecoData);
unsigned char WINAPI BPReco16SectionNumber(float* pRecoData);
unsigned char WINAPI BPReco16SectionLetter(float* pRecoData);
BOOL WINAPI BPRecoStruct();
BOOL WINAPI BPTrain(int iInputNum, int iMidNum, int iOutputNum);
BOOL WINAPI BPTrain13Section(int iInputNum, int iMidNum, int iOutputNum);
BOOL WINAPI BPTrain16SectionNumber(int iInputNum, int iMidNum, int iOutputNum);
BOOL WINAPI BPTrain16SectionNumber2(int iInputNum, int iMidNum, int iOutputNum);
BOOL WINAPI BPTrain16SectionLetter(int iInputNum, int iMidNum, int iOutputNum);
BOOL WINAPI BPTrainStruct(int iInputNum, int iMidNum, int iOutputNum);
BOOL WINAPI ContourDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI TraceDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
VOID WINAPI FFT(complex<double> * TD, complex<double> * FD, int r);
VOID WINAPI IFFT(complex<double> * FD, complex<double> * TD, int r);
VOID WINAPI DCT(double *f, double *F, int power);
VOID WINAPI IDCT(double *F, double *f, int power);
VOID WINAPI WALSH(double *f, double *F, int r);
VOID WINAPI IWALSH(double *F, double *f, int r);
BOOL WINAPI Fourier(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI DIBDct(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI DIBWalsh(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI DIBWalsh1(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI NUMBERSCANLINE(LPSTR lpDIBBits,LONG lWidth, LONG lHeight);
BOOL WINAPI NUMBERSCANROW(LPSTR lpDIBBits,LONG lWidth, LONG lHeight);
BOOL WINAPI ThresholdDIB (LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI AddMinusDIB (LPSTR lpDIBBits, LPSTR lpDIBBitsBK, LONG lWidth, LONG lHeight, bool bAddMinus);
BOOL WINAPI HprojectDIB (LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI VprojectDIB (LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI TemplateMatchDIB (LPSTR lpDIBBits, LPSTR lpTemplateDIBBits,
LONG lWidth, LONG lHeight,LONG lTemplateWidth,LONG lTemplateHeight);
BOOL WINAPI HDifferProjDIB (LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI HDifferProjDIB2 (LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI HDifferProjDIB3 (LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
int* WINAPI HDifferProjDIB4 (LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
int WINAPI Distance13(LONG iWidth, LONG iHeight, int ix, int iy);
int WINAPI Distance16(LONG iWidth, LONG iHeight, int ix, int iy);
float* WINAPI CharExtract13Sect(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
float* WINAPI CharExtract16Sect(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
float* WINAPI CharExtract16Sect2(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
float* WINAPI CharExtractStruct(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
unsigned char WINAPI DistanceStruct(float* pCodeStruct);
BOOL WINAPI HoughDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
BOOL WINAPI DIBToPCX256(LPSTR lpDIB, CFile& file);
HDIB WINAPI ReadPCX256(CFile& file);
#endif //!_INC_GlobalFunctionAPI
typedef struct{
int Height;
int Width;
} Point;
typedef struct{
int Value;
int Dist;
int AngleNumber;
} MaxValue;
// PCX文件头结构
typedef struct{
BYTE bManufacturer;
BYTE bVersion;
BYTE bEncoding;
BYTE bBpp;
WORD wLeft;
WORD wTop;
WORD wRight;
WORD wBottom;
WORD wXResolution;
WORD wYResolution;
BYTE bPalette[48];
BYTE bReserved;
BYTE bPlanes;
WORD wLineBytes;
WORD wPaletteType;
WORD wSrcWidth;
WORD wSrcDepth;
BYTE bFiller[54];
} PCXHEADER;
// 函数原型
//BOOL WINAPI TranslationDIB1 (LPSTR lpDIBBits, LONG lWidth, LONG lHeight, LONG lXOffset, LONG lYOffset);
//BOOL WINAPI TranslationDIB (LPSTR lpDIBBits, LONG lWidth, LONG lHeight, LONG lXOffset, LONG lYOffset);
//BOOL WINAPI MirrorDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BOOL bDirection);
//BOOL WINAPI TransposeDIB(LPSTR lpbi);
//unsigned char WINAPI Interpolation (LPSTR lpDIBBits, LONG lWidth, LONG lHeight, FLOAT x, FLOAT y);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -