www.pudn.com > hongmoyuan.rar > GlobalApi.h
#ifndef _GLOBAL_API #define _GLOBAL_API #include "stdafx.h" #include "cdib.h" #include#include #include 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 * pCTData, complex * pCFData, int nLevel); VOID WINAPI DIBFFT_2D(complex * pCTData, int nWidth, int nHeight, complex * pCFData); #endif