亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? globalapi.h

?? 經(jīng)典編著《Visual C++數(shù)字圖像處理典型算法及實現(xiàn)》光盤源程序。
?? H
字號:
#ifndef _GLOBAL_API
#define _GLOBAL_API


#include <math.h>
#include "cdib.h"
#include "ColorTable.h"
#include <complex>
using namespace std;

//----------------------------------------------------------------------
// DIB處理函數(shù)
BOOL DIBShow(CFile* pFile);
BOOL ConvertDDBToDIB(HBITMAP hBitmap, CDib* pDibDest, HPALETTE hPal);
BOOL CopyDIB(CDib* pDibSrc, CDib* pDibDst);
BOOL CopyScreenToDIB(LPRECT lpRect, CDib* pDibDest);
HPALETTE GetSystemPalette() ;
HPALETTE CopyPalette(HPALETTE hPalSrc);
BOOL ReadDIB(CFile* pFile, LPBITMAPINFOHEADER lpBMIH, LPBYTE lpImage);
HPALETTE MakeDIBPalette(LPVOID lpvColorTable,  LPBITMAPINFOHEADER lpBMIH);
BOOL PaintDIB(CDC* pDC, LPBITMAPINFOHEADER lpBMIH, LPBYTE lpImage, CPoint origin, CSize size, HPALETTE hPalette);

//----------------------------------------------------------------------
// 運動檢測
BOOL GetBackground(CString strFilePath, int nTotalFrameNum, int nImageWidth, 
		   int nImageHeight, unsigned char* pUnchBackGround);
BOOL LoadDibSeq(CString strFilePath, int nCurFrameNum, int nTotalFrameNum, CDib* pDib);
CString GetFileName(CString strFilePathName, int nCurFrameNum);
void BinaFrameDiff(unsigned char *pUnchImg1, unsigned char *pUnchImg2, 
		  int nWidth, int nHeight, unsigned char * pUnchResult,
		  int nThreshold=10);
void ErodeFrameDiff(unsigned char *pUnchImg, int nWidth, int nHeight, int nErodeHalfWin, 
	   int nErodeThreshold, unsigned char *pUnchResult);

//----------------------------------------------------------------------
// 圖象分割
void RegionSegFixThreshold(CDib * pDib, int nThreshold=100);
void RobertsOperator(CDib * pDib, double * pdGrad);
void LaplacianOperator(CDib * pDib, double * pdGrad);
void EdgeTrack(CDib * pDib, unsigned char * pUnEdgeTrack);
void RegionGrow(CDib * pDib, unsigned char * pUnRegion, int nThreshold = 10);
void RegionSegAdaptive(CDib * pDib) ;
void SobelOperator(CDib * pDib, double * pdGrad);
void PrewittOperator(CDib * pDib, double * pdGrad);
	// 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) ; 
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) ;
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) ;


// 小波變換函數(shù)原型
// Daubechies緊致正交小波基
// 不同支撐區(qū)間長度下的濾波器系數(shù)如下
const double hCoef[10][20] =
{
	{ .707106781187,  .707106781187},

	{ .482962913145,  .836516303738,  .224143868042, -.129409522551 },

	{ .332670552950,  .806891509311,  .459877502118, -.135011020010, -.085441273882,  .035226291882 },

	{ .230377813309,  .714846570553,  .630880767930, -.027983769417,
	 -.187034811719,  .030841381836,  .032883011667, -.010597401785 },

	{ .160102397974,  .603829269797,  .724308528438,  .138428145901, -.242294887066,
	 -.032244869585,  .077571493840, -.006241490213, -.012580751999,  .003335725285 },

	{ .111540743350,  .494623890398,  .751133908021,  .315250351709, -.226264693965,
	 -.129766867567,  .097501605587,  .027522865530, -.031582039318,  .000553842201,
	  .004777257511, -.001077301085 },

	{ .077852054085,  .396539319482,  .729132090846,  .469782287405, -.143906003929,
	 -.224036184994,  .071309219267,  .080612609151, -.038029936935, -.016574541631,
	  .012550998556,  .000429577973, -.001801640704,  .000353713800 },

	{ .054415842243,  .312871590914,  .675630736297,  .585354683654, -.015829105256,
	 -.284015542962,  .000472484574,  .128747426620, -.017369301002, -.044088253931,
	  .013981027917,  .008746094047, -.004870352993, -.000391740373,  .000675449406,
	 -.000117476784 },

	{ .038077947364,  .243834674613,  .604823123690,  .657288078051,  .133197385825,
	 -.293273783279, -.096840783223,  .148540749338,  .030725681479, -.067632829061,
	  .000250947115,  .022361662124, -.004723204758, -.004281503682,  .001847646883,
	  .000230385764, -.000251963189,  .000039347320 },

	{ .026670057901,  .188176800078,  .527201188932,  .688459039454,  .281172343661,
	 -.249846424327, -.195946274377,  .127369340336,  .093057364604, -.071394147166,
	 -.029457536822,  .033212674059,  .003606553567, -.010733175483,  .001395351747,
	  .001992405295, -.000685856695, -.000116466855,  .000093588670, -.000013264203 }
};

BOOL DWT_1D(double* pDbSrc, int nMaxLevel,int nDWTSteps, int nInv, int nStep, int nSupp);
BOOL DWTStep_1D(double* pDbSrc, int nCurLevel,int nInv, int nStep, int nSupp);
BOOL DWT_2D(double* pDbSrc, int nMaxWLevel, int nMaxHLevel, int nDWTSteps, int nInv, int nStep, int nSupp);
BOOL DWTStep_2D(double* pDbSrc, int nCurWLevel, int nCurHLevel,	int nMaxWLevel, int nMaxHLevel, int nInv, int nStep, int nSupp);	
BOOL ImageDWT(LPBYTE lpImage, int nMaxWLevel, int nMaxHLevel,int nDWTSteps, int nInv, int nStep, int nSupp);
int Log2(int n);
BYTE FloatToByte(double f);
char FloatToChar(double f);


//----------------------------------------------------------------------
// 圖象增強函數(shù)
BOOL GraySegLinTrans(CDib* pDib, int nX1, int nY1, 
					 int nX2, int nY2);					// 分段線性變換
BOOL HistogramEqualize(CDib* pDib);						// 直方圖均衡化
BOOL  GeneralTemplate(CDib* pDib,  int nTempWidth, int nTempHeight,	
					 int nTempCenX, int nTempCenY,
					 double* pdbTemp, double dbCoef);	// 通用模板操作
BOOL MedianFilter(CDib* pDib,  int nTempWidth, int nTempHeight, 
				 int nTempCenX, int nTempCenY);			// 中值濾波
unsigned char  GetMedianValue(unsigned char * pUnchFltValue, int iFilterLen);	// 獲取中值
BOOL  ReplaceDIBColorTable(CDib* pDib, LPBYTE  pColorsTable);			// 替換DIB顏色表

void LowPassFilterEnhance(LPBYTE lpImage, int nWidth, int nHeight, int nRadius) ;// 低通濾波
void HighPassFilterEnhance(LPBYTE lpImage, int nWidth, int nHeight, int nRadius);// 高通濾波
void ButterWorthLowPass(LPBYTE lpImage, int nWidth, int nHeight, int nRadius);	//  ButterWorth低通濾波
void ButterWorthHighPass(LPBYTE lpImage, int nWidth, int nHeight, int nRadius);	//  ButterWorth高通濾波
void LinearSharpen (LPBYTE lpImage, int nWidth, int nHeight);			//  線性銳化增強

//-----------------------------------------------------------------------
// imageview.cpp函數(shù)原型
BOOL LimbPatternBayer(CDib *pDib);
BOOL DitherFloydSteinberg(CDib *pDib);

//--------------------------------------------------------------------------
// 圖象分析函數(shù)原型
BOOL DIBHOLENUMBER(CDib *pDib);
BOOL DIBMOMENT(CDib *pDib);
BOOL DIBBARYCENTERMOMENT(CDib *pDib);
BOOL DIBFREAMEWORK(CDib *pDib);
BOOL DIBCHESSBOARDDISRESTORE(CDib *pDib);
BOOL DIBSTREETDIS(CDib *pDib);
BOOL DIBOUTLINE(CDib *pDib);
BOOL WINAPI DIBTrace(CDib *pDib);

//-------------------------------------------------------------------------------------
// 圖象變換函數(shù)原型
VOID WINAPI FFT_1D(complex<double> * pCTData, complex<double> * pCFData, int nLevel);
VOID WINAPI IFFT_1D(complex<double> * pCFData, complex<double> * pCTData, int nLevel);
VOID WINAPI IFFT_2D(complex<double> * pCFData, complex<double> * pCTData, int nWidth, int nHeight);
VOID WINAPI IDFT_2D(CDib * pDib,double * pTrRstRpart, double * pTrRstIpart);
VOID WINAPI WINAPI DCT(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 THREECROSS(double *Matrix, int Rank, double *QMatrix, double *MainCross, double *HypoCross);
BOOL WINAPI BSTQ(int Rank, double *MainCross, double *HypoCross, double *Matrix, double Eqs, int MaxT);

BOOL WINAPI DIBDct(CDib *pDib);
BOOL WINAPI DIBWalsh(CDib *pDib);
BOOL WINAPI DIBHOTELLING(CDib *pDib);
VOID WINAPI DIBDFT_2D(CDib * pDib,double * pTrRstRpart, double * pTrRstIpart);
VOID WINAPI DIBFFT_2D(complex<double> * pCTData, int nWidth, int nHeight, complex<double> * pCFData);

//------------------------------------------------------------------------------------
// 圖象復原的函數(shù)原型
BOOL WINAPI DIBNoRestriction(CDib *pDib );
BOOL WINAPI DIBInverseFilter (CDib *pDib);
BOOL WINAPI DIBNoiseDegeneration (CDib *pDib);
BOOL WINAPI DIBWinnerFilter (CDib *pDib);
BOOL WINAPI DIBMotionDegeneration(CDib *pDib);
BOOL WINAPI DIBMotionRestore(CDib *pDib);

//-------------------------------------------------------------------------------------
// 圖象編碼函數(shù)原型
BOOL WINAPI WRITE2IMG(CDib * pDib, CFile& file);
BOOL WINAPI LOADIMG(CDib * pDib, CFile& file);
BOOL WINAPI DIBBITPLANE(CDib *pDib,BYTE bBitNum);
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃av一区二区| 欧美色综合网站| 99国产精品久久久| 欧美日韩亚洲国产综合| 久久伊人中文字幕| 亚洲地区一二三色| 国产91精品一区二区麻豆网站| 日本乱码高清不卡字幕| 久久久电影一区二区三区| 亚洲1区2区3区4区| 成人黄色片在线观看| 日韩久久久久久| 一区二区三区四区不卡视频| 国产在线精品视频| 在线播放亚洲一区| 亚洲精选免费视频| 成人午夜激情片| 亚洲激情网站免费观看| 精品一区二区三区av| 精品视频一区三区九区| 《视频一区视频二区| 精久久久久久久久久久| 欧美精品tushy高清| 亚洲女女做受ⅹxx高潮| 成人午夜视频福利| 国产日韩欧美制服另类| 久草中文综合在线| 91精品久久久久久久久99蜜臂| 亚洲精品日韩专区silk| 丰满放荡岳乱妇91ww| 久久人人爽爽爽人久久久| 日韩电影一区二区三区| 欧美日本乱大交xxxxx| 一二三四区精品视频| 99久久精品免费观看| 国产精品久久久久久久久快鸭| 国产在线观看免费一区| 久久影视一区二区| 国产精品乡下勾搭老头1| 欧美大片拔萝卜| 老司机午夜精品| 欧美一区二区三区视频在线| 免费欧美日韩国产三级电影| 欧美一区二区女人| 麻豆精品视频在线观看| 精品国产成人系列| 国产综合久久久久久鬼色 | 欧美一区二区三区视频在线观看 | 欧美一卡二卡在线| 美女视频黄 久久| 欧美变态tickling挠脚心| 国产真实乱对白精彩久久| 2欧美一区二区三区在线观看视频| 久久电影国产免费久久电影| 久久中文字幕电影| 国产成人av资源| 亚洲天堂久久久久久久| 欧美日韩三级一区二区| 免费在线成人网| 久久久久久久久岛国免费| 成人免费黄色大片| 玉足女爽爽91| 91精品国产一区二区人妖| 国产在线一区观看| 亚洲三级视频在线观看| 精品视频资源站| 国产一区二区三区综合| 中文字幕一区二区三区不卡在线 | 国产专区欧美精品| 中文字幕视频一区二区三区久| 在线看不卡av| 精品中文字幕一区二区| 亚洲欧洲国产日本综合| 欧美三级在线看| 极品少妇xxxx精品少妇| 国产精品久久久久国产精品日日| 欧美三级日韩在线| 韩国成人在线视频| 国产一区二区三区高清播放| 日韩理论在线观看| 日韩欧美一区电影| 色香蕉久久蜜桃| 久久成人麻豆午夜电影| 综合激情成人伊人| 欧美va亚洲va香蕉在线| 色婷婷综合久久久久中文一区二区 | 日韩欧美成人一区二区| 色综合一个色综合亚洲| 久久爱另类一区二区小说| 亚洲免费伊人电影| 久久久久久久国产精品影院| 欧美性xxxxx极品少妇| 成人一级片在线观看| 日本一道高清亚洲日美韩| 亚洲欧美日韩在线不卡| 久久久久久亚洲综合| 在线不卡一区二区| 欧美性大战久久| www.欧美亚洲| 国产麻豆精品久久一二三| 日韩激情视频网站| 亚洲午夜私人影院| 中文字幕亚洲区| 国产女同性恋一区二区| 精品国一区二区三区| 777色狠狠一区二区三区| 欧美在线不卡视频| 色欧美片视频在线观看| 99综合影院在线| 国产成人aaaa| 国产一区二区看久久| 久久99热这里只有精品| 美女精品一区二区| 日韩福利视频网| 亚洲午夜三级在线| 亚洲欧美视频在线观看视频| 国产精品成人一区二区三区夜夜夜| 精品成人a区在线观看| 欧美电影免费提供在线观看| 欧美一级夜夜爽| 欧美一区二区三区免费| 日韩一级视频免费观看在线| 日韩欧美在线网站| 欧美刺激午夜性久久久久久久| 欧美剧情电影在线观看完整版免费励志电影 | 91精品国产色综合久久不卡蜜臀 | 日韩色在线观看| 日韩欧美激情一区| 日韩欧美国产wwwww| 日韩一区二区三区视频| 日韩美女一区二区三区| 精品福利二区三区| 久久久久久电影| 国产精品久久毛片av大全日韩| 国产精品福利av| 亚洲欧美日韩中文播放| 亚洲一区二区成人在线观看| 日韩中文字幕亚洲一区二区va在线 | 91国偷自产一区二区开放时间| 欧美午夜寂寞影院| 欧美一级高清片在线观看| 精品国产99国产精品| 国产精品午夜久久| 一区二区三区不卡在线观看| 午夜在线成人av| 久久国产精品色婷婷| 国产91高潮流白浆在线麻豆| 91伊人久久大香线蕉| 欧美精选一区二区| 久久久午夜精品| 综合色天天鬼久久鬼色| 日韩在线卡一卡二| 国产黄色精品视频| 91视频免费播放| 色美美综合视频| 欧美sm极限捆绑bd| 国产精品福利影院| 日韩中文字幕不卡| 成人18视频在线播放| 欧美猛男男办公室激情| 国产欧美精品一区二区三区四区| 亚洲欧美偷拍三级| 九九九久久久精品| 91黄色在线观看| 久久综合丝袜日本网| 亚洲精品成人少妇| 精品一区二区三区久久| 欧美在线综合视频| 久久婷婷一区二区三区| 亚洲一区二区成人在线观看| 国产成人综合亚洲网站| 欧美日韩一区二区在线视频| 久久久电影一区二区三区| 亚洲一区av在线| 粉嫩13p一区二区三区| 7777精品伊人久久久大香线蕉 | 色成人在线视频| 久久网站最新地址| 丝袜国产日韩另类美女| 91在线云播放| 国产色产综合色产在线视频| 三级欧美在线一区| 色婷婷激情综合| 中文字幕第一页久久| 捆绑调教美女网站视频一区| 在线日韩一区二区| 国产精品久久久久久一区二区三区 | 欧美日本韩国一区| 亚洲理论在线观看| 懂色av噜噜一区二区三区av| 欧美一区二区三区视频| 亚洲午夜精品久久久久久久久| 成人av免费在线观看| 久久久午夜电影| 九九国产精品视频| 欧美一激情一区二区三区| 亚洲成a人片在线观看中文| 99国产麻豆精品| 中文字幕一区二区不卡 | 91免费观看在线|