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

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

?? globalapi.h

?? 《Visual C++數字圖像獲取 處理及實踐應用》一書的源代碼
?? H
字號:
#ifndef _GLOBAL_API
#define _GLOBAL_API


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

//----------------------------------------------------------------------
// DIB處理函數
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) ;


// 小波變換函數原型
// Daubechies緊致正交小波基
// 不同支撐區間長度下的濾波器系數如下
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);


//----------------------------------------------------------------------
// 圖象增強函數
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函數原型
BOOL LimbPatternBayer(CDib *pDib);
BOOL DitherFloydSteinberg(CDib *pDib);

//--------------------------------------------------------------------------
// 圖象分析函數原型
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);

//-------------------------------------------------------------------------------------
// 圖象變換函數原型
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);

//------------------------------------------------------------------------------------
// 圖象復原的函數原型
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);

//-------------------------------------------------------------------------------------
// 圖象編碼函數原型
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成人老司机| 色猫猫国产区一区二在线视频| 欧美精品色综合| 久久久久亚洲蜜桃| 视频一区在线播放| zzijzzij亚洲日本少妇熟睡| 日韩一二在线观看| 亚洲综合一二区| 国产成人aaa| 欧美白人最猛性xxxxx69交| 亚洲综合在线第一页| 成人免费视频视频在线观看免费| 欧美精品视频www在线观看| 亚洲精品乱码久久久久久黑人| 国产美女一区二区三区| 91精品国产91久久久久久最新毛片 | 精品国产髙清在线看国产毛片 | 99re亚洲国产精品| 国产性色一区二区| 国产一区二区精品久久91| 欧美一区在线视频| 午夜a成v人精品| 欧洲视频一区二区| 亚洲一区av在线| 91麻豆国产精品久久| ●精品国产综合乱码久久久久| 国产精品香蕉一区二区三区| 久久久久久久久久久久久久久99 | 日本一区中文字幕| 欧美二区三区91| 婷婷久久综合九色国产成人| 欧美精品高清视频| 日韩二区三区在线观看| 6080午夜不卡| 麻豆成人久久精品二区三区小说| 欧美一区二视频| 日韩精品每日更新| 精品欧美一区二区三区精品久久 | 国产视频视频一区| 国产精品白丝av| 欧美国产精品一区二区| 国产aⅴ综合色| 国产精品久久久久久久久免费相片| 成人黄色大片在线观看| 亚洲天天做日日做天天谢日日欢| 91影院在线观看| 亚洲国产日日夜夜| 正在播放亚洲一区| 久久99久久99精品免视看婷婷| 久久久另类综合| www.成人网.com| 一区二区三区在线观看动漫| 欧美精品乱人伦久久久久久| 久久精品国产色蜜蜜麻豆| 久久精品视频网| 91啪亚洲精品| 日韩精品福利网| 国产欧美一区二区在线| aaa欧美色吧激情视频| 亚洲国产成人精品视频| 欧美一二三区在线观看| 国产成人福利片| 亚洲成人动漫在线观看| 欧美变态tickle挠乳网站| 91一区二区三区在线观看| 亚洲午夜精品久久久久久久久| 欧美一区永久视频免费观看| av网站一区二区三区| 日本不卡一二三区黄网| 国产精品久久午夜| 91精品国产一区二区三区| 成人自拍视频在线观看| 婷婷开心激情综合| 国产精品亲子乱子伦xxxx裸| 欧美美女直播网站| 东方aⅴ免费观看久久av| 亚洲大型综合色站| 国产精品人妖ts系列视频| 91 com成人网| 不卡的av网站| 激情综合五月天| 亚洲一二三四区| 国产欧美日韩三级| 欧美大胆人体bbbb| 欧美视频一区二区三区| 成人丝袜高跟foot| 国内外成人在线| 青娱乐精品在线视频| 一个色在线综合| 国产精品国产三级国产普通话99| 精品国产成人系列| 91精品蜜臀在线一区尤物| 一本一道久久a久久精品综合蜜臀| 国产精品一区二区三区四区| 精品一区二区三区在线播放视频| 亚洲线精品一区二区三区八戒| 自拍偷拍国产精品| 国产日产精品1区| 久久久久久9999| 26uuu亚洲综合色| 欧美一级爆毛片| 日韩一区二区视频| 91精品视频网| 欧美高清视频在线高清观看mv色露露十八 | 亚洲日穴在线视频| 日本一区二区免费在线观看视频| 日韩久久久久久| 91精品欧美综合在线观看最新| 欧美日韩国产精品成人| 色成人在线视频| 欧美丝袜丝交足nylons图片| 欧美午夜影院一区| 在线观看视频一区二区| 欧美日韩精品福利| 欧美一区二区精品| 欧美大胆人体bbbb| 久久先锋影音av鲁色资源网| 久久久久99精品国产片| 久久久精品黄色| 国产精品久久午夜夜伦鲁鲁| 最新中文字幕一区二区三区| 亚洲老妇xxxxxx| 亚洲愉拍自拍另类高清精品| 午夜精品久久久久久| 石原莉奈在线亚洲二区| 蜜臀av性久久久久av蜜臀妖精| 精东粉嫩av免费一区二区三区| 国产一区二区三区免费| 成人aaaa免费全部观看| 欧美亚洲一区二区三区四区| 91精品蜜臀在线一区尤物| 日韩欧美成人激情| 26uuu国产在线精品一区二区| 国产精品色眯眯| 亚洲国产cao| 蜜臀av性久久久久蜜臀av麻豆| 国产精品资源网| 91丨九色porny丨蝌蚪| 欧美日本视频在线| 久久久噜噜噜久久人人看| 怡红院av一区二区三区| 麻豆国产精品视频| 成人免费视频一区二区| 欧美日韩一本到| 国产日韩欧美高清| 亚洲激情网站免费观看| 久久 天天综合| jizz一区二区| 日韩欧美在线网站| 自拍视频在线观看一区二区| 日本色综合中文字幕| proumb性欧美在线观看| 777午夜精品免费视频| 中文字幕乱码日本亚洲一区二区| 天堂一区二区在线| 粉嫩aⅴ一区二区三区四区 | 日韩高清在线不卡| 国产成人av电影在线播放| 欧美二区三区91| 亚洲色图一区二区三区| 韩国三级电影一区二区| 欧美性感一区二区三区| 国产精品久久久久久户外露出| 麻豆国产精品777777在线| 91黄色免费版| 国产精品无圣光一区二区| 免费av成人在线| 欧美三级在线播放| 中文字幕亚洲不卡| 国产成人综合在线播放| 精品少妇一区二区三区在线播放| 亚洲亚洲精品在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 久久久精品影视| 韩国av一区二区三区在线观看 | 在线亚洲精品福利网址导航| 国产欧美一区二区精品性色超碰| 免费成人小视频| 欧美日韩国产精选| 亚洲高清在线精品| 色哟哟一区二区在线观看| 国产精品福利影院| 成人黄色软件下载| 中文字幕高清不卡| 粉嫩13p一区二区三区| 国产亚洲欧美一区在线观看| 麻豆精品一二三| 欧美电视剧免费全集观看| 蜜芽一区二区三区| 91精品国产高清一区二区三区| 亚洲v精品v日韩v欧美v专区| 欧美撒尿777hd撒尿| 亚洲综合久久久久| 欧美少妇xxx| 亚洲v中文字幕| 欧美一区二区三区在线观看视频| 亚洲v精品v日韩v欧美v专区| 欧美人xxxx| 日本aⅴ亚洲精品中文乱码|