📄 globalapi.h
字号:
#ifndef _GLOBAL_API
#define _GLOBAL_API
#include "stdafx.h"
#include "cdib.h"
#include <math.h>
#include <direct.h>
#include <complex>
using namespace std;
#define pi 3.1415927
//----------------------------------------------------------------------
// canny 算子
void GaussianSmooth(unsigned char *pUnchImg, int nWidth, int nHeight, double sigma, unsigned char * pUnchSmthdImg);
void MakeGauss(double sigma, double **pdKernel, int *pnWindowSize) ;
void DirGrad(unsigned char *pUnchSmthdImg, int nWidth, int nHeight,
int *pnGradX , int *pnGradY);
void GradMagnitude(int *pnGradX, int *pnGradY, int nWidth, int nHeight, int *pnMag,double *CosTheta,double *SinTheta) ;
void NonmaxSuppress(int *pnMag, int *pnGradX, int *pnGradY, int nWidth, int nHeight, unsigned char *pUnchRst);
void EstimateThreshold(int *pnMag, int nWidth, int nHeight, int *pnThdHigh,int *pnThdLow,
unsigned char * pUnchEdge, double dRatioHigh, double dRationLow) ;
void Canny(unsigned char *pUnchImage, int nWidth, int nHeight, double sigma,
double dRatioLow, double dRatioHigh, unsigned char *pUnchEdge,double *CosTheta,double *SinTheta) ;
void Hysteresis(int *pnMag, int nWidth, int nHeight, double dRatioLow,
double dRatioHigh, unsigned char *pUnchEdge) ;
void TraceEdge (int y, int x, int nLowThd, unsigned char *pUnchEdge, int *pnMag, int nWidth) ;
// Hough变换
void Hough(int x,int y, int nWidth,int nHeight,double *CosTheta,double *SinTheta,unsigned char *pUnchEdge,int &Gao_temp1, int &Gao_temp2,int &Gao_temp3);
void Bresenham(int Gao_temp1, int Gao_temp2,int Gao_temp3,int nWidth,int nHeight,unsigned char *HoughImage);
void Gradient(int Gao_temp1,int Gao_temp2,int Gao_temp3,int nWidth,int nHeight,unsigned char *HoughImage,int &Gao_temp4,int &Gao_temp5,int &Gao_temp6);
// 归一化
void Normalization(unsigned char *NormalizeImage,unsigned char *HoughImage,int Gao_temp1,int Gao_temp2,int Gao_temp3,int Gao_temp4,int Gao_temp5,int Gao_temp6,int nWidth,int nHeight);
// 双线性插值
unsigned char Interpolation(unsigned char *InterpolaImage, int nWidth, int nHeight, double x, double y);
// 直方图均衡
void InteEqualize(unsigned char *InteEqualizeImg, int nWidth,int nHeight);
// FFT变换
void FFT(unsigned char *FourierImg);
VOID WINAPI FFT_1D(complex<double> * pCTData, complex<double> * pCFData, int nLevel);
VOID WINAPI DIBFFT_2D(complex<double> * pCTData, int nWidth, int nHeight, complex<double> * pCFData);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -