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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mainfrm.cpp

?? 上述是VIsualc++ 數(shù)字圖像處理一書的源碼
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
	if(!theApp.curVideo)
	{
		AfxMessageBox("沒有打開視頻文件 !");
		return;
	}

	// 創(chuàng)建線程
	th = CreateThread(NULL,0,StaticDetectT,theApp.curVideo->doc,0,&pID);
}

/************************************************************************/
/* 動(dòng)止背景目標(biāo)檢測(cè)                                                     */
/************************************************************************/
DWORD WINAPI MotionDetectT(LPVOID data){

	CVideoDemoDoc *doc = (CVideoDemoDoc*)theApp.curVideo->doc;

	

	int frameLength = theApp.curVideo->ms->GetFrameCount();
	MediaSource *avi = theApp.curVideo->ms;

	unsigned char *frame = avi->GetSingleFrame(0);
	int frameWidth = avi->GetFrameWidth();
	int frameHeight = avi->GetFrameHeight();

	// 色彩變換
	ColorTrans ct;

	int *threshold = (int*)data;
	
	MotionDetectDiag diag;
	//if(diag.DoModal()){
	//	threshold = diag.m_index;
	//}
	CStatsticDetect sd(frameWidth,frameHeight);
	//CStaticDetect sd(frameWidth,frameHeight);
	ChafenMul cm(frameWidth,frameHeight,*threshold);

	// 輸出緩沖
	unsigned char * outBuffer = new unsigned char[frameHeight * frameWidth * 3];
	unsigned char * gray = new unsigned char[frameWidth * frameHeight * 3];
	for(int i = 0; i < frameLength - 1; i++)
	{
		// 獲得一幀圖像	
		frame = avi->GetSingleFrame(i);
		
		ct.RGB2Gray8(frame,gray,frameWidth,frameHeight);

		// 準(zhǔn)備數(shù)據(jù)
		cm.PrepareData(gray,frameWidth,frameHeight);
		
	
		if(i % 4 == 0 && i != 0)
		{
			cm.process();
			
		
			sd.DeNoise(cm.frame1,frameWidth,frameHeight);
			ct.gray2RGB2(cm.frame1,outBuffer,frameWidth,frameHeight);
			doc->id->data = outBuffer;
		
			doc->RefreshView();
	
		}
	}

	delete[] outBuffer;
	return 0;

}

/************************************************************************/
/* 動(dòng)背景目標(biāo)檢測(cè)                                                       */
/************************************************************************/
void CMainFrame::OnMotionDd() 
{	
	DWORD exitCode;
	
	if(GetExitCodeThread(th,&exitCode)){
	   TerminateThread(th,exitCode);
	}
	
	if(theApp.curVideo == NULL)
		AfxMessageBox("沒有打開視頻文件!");
	DWORD pID;
	//控制線程播放

	int frameLength = theApp.curVideo->ms->GetFrameCount();

	MediaSource *avi = theApp.curVideo->ms;

	
	int threshold = 100;
	MotionDetectDiag mdd;
	if(mdd.DoModal())
	{
		threshold = mdd.m_index;
	}
	
	int * thre = (int*)malloc(sizeof(int));
	*thre = threshold;
	// 創(chuàng)建線程
	th = CreateThread(NULL,0,MotionDetectT,thre,0,&pID);
	
}


/************************************************************************/
/* 動(dòng)止背景目標(biāo)檢測(cè)                                                     */
/************************************************************************/
DWORD WINAPI MSS(LPVOID data){

	CVideoDemoDoc *doc = (CVideoDemoDoc*)theApp.curVideo->doc;//(CVideoDemoDoc*)data;

	int frameLength = theApp.curVideo->ms->GetFrameCount();
	MediaSource *avi = theApp.curVideo->ms;

	unsigned char *frame = avi->GetSingleFrame(0);
	int frameWidth = avi->GetFrameWidth();
	int frameHeight = avi->GetFrameHeight();
	
	MeanShiftSegger* mms = (MeanShiftSegger*)data;

	// 輸出緩沖
	unsigned char * outBuffer = new unsigned char[frameHeight * frameWidth * 3];

	for(int i = 0; i < frameLength - 1; i++)
	{
		// 獲得一幀圖像	
		frame = avi->GetSingleFrame(i);
		
		mms->MeanShiftTrackProcess(frame,i);

		doc->id->data = frame;
		
		doc->RefreshView();
	}

	delete[] outBuffer;
	return 0;

}


/************************************************************************/
/* MeanShift跟蹤                                                        */
/************************************************************************/
void CMainFrame::OnTracekMeanshift() 
{
	DWORD exitCode;
	
	if(GetExitCodeThread(th,&exitCode)){
	   TerminateThread(th,exitCode);
	}
	DWORD pID;
	if(theApp.curVideo == NULL){
		AfxMessageBox("沒有打開視頻!");
		return;
	}
	
	int x,y,width,height;
	POSDiag pd;
	if(pd.DoModal())
	{
		x= pd.m_x;
		y= pd.m_y;
		width = pd.m_width;
		height = pd.m_height;
	}
	else
		return;
	
	mss = new MeanShiftSegger();
	int frameLength = theApp.curVideo->ms->GetFrameCount();
	MediaSource *avi = theApp.curVideo->ms;

	unsigned char *frame = avi->GetSingleFrame(0);
	int frameWidth = avi->GetFrameWidth();
	int frameHeight = avi->GetFrameHeight();

	mss->InitMeanShiftTracker(frame,frameWidth,frameHeight,x,y,width,height);

	
	th = CreateThread(NULL,0,MSS,mss,0,&pID);

	

}


/************************************************************************/
/* 重心 法 跟蹤                                                         */
/************************************************************************/
DWORD WINAPI GAV(LPVOID data){

	int* threshold = (int*)data;

	CVideoDemoDoc *doc = (CVideoDemoDoc*)theApp.curVideo->doc;

	int frameLength = theApp.curVideo->ms->GetFrameCount();
	MediaSource *avi = theApp.curVideo->ms;

	unsigned char *frame = avi->GetSingleFrame(0);
	int frameWidth = avi->GetFrameWidth();
	int frameHeight = avi->GetFrameHeight();

	// 輸出緩沖
	unsigned char * outBuffer = new unsigned char[frameHeight * frameWidth * 3];

	unsigned char * grayBuffer =new unsigned char[frameWidth * frameHeight];

	ColorTrans ct;
	CGravityCenter* m_gravitycenter;
	TARGETPARA m_target;
	for(int i = 0; i < frameLength - 1; i++)
	{
		// 獲得一幀圖像	
		frame = avi->GetSingleFrame(i);
		
		ct.RGB2Gray8(frame,grayBuffer,frameWidth,frameHeight);

		if(i == 0)
		{
			m_gravitycenter = new CGravityCenter(frameWidth,frameHeight);
			m_gravitycenter->InitalObjectTracker(T_GRACENTER,*threshold);
			m_gravitycenter->GravityCenter(i, frame);

		}
		else 
		{
			m_gravitycenter->GravityCenter(i, frame);
		}
		
		m_target = m_gravitycenter->m_result;
		/*
		// 重心跟蹤
		WININFO info = GravityTrack(grayBuffer,frameWidth,frameHeight,*threshold);
		if(!info.flag)
		{
			for(int j = max(info.pt.y - info.h / 2,0);j <= min(info.pt.y + info.h / 2,frameHeight); j ++)
				for(int i = max(info.pt.x - info.w / 2,0);i <= min(info.pt.x + info.w / 2,frameWidth); i ++)
				{
					frame[j * frameWidth * 3 + i * 3] = 255;
				}
		
		}*/
		
		doc->id->data = frame;
		
		doc->RefreshView();
	}

	delete[] grayBuffer;

	delete[] outBuffer;
	return 0;

}
/************************************************************************/
/* 重心法跟蹤                                                           */
/************************************************************************/
void CMainFrame::OnTracekGav() 
{
	DWORD exitCode;
	
	if(GetExitCodeThread(th,&exitCode)){
	   TerminateThread(th,exitCode);
	}
	DWORD pID;
	if(theApp.curVideo == NULL){
		AfxMessageBox("沒有打開視頻!");
		return;
	}
	

	int threshold = 100;
	MotionDetectDiag mdd;
	if(mdd.DoModal())
	{
		threshold = mdd.m_index;
	}

	int * thre = (int*)malloc(sizeof(int));
	*thre = threshold;

	th = CreateThread(NULL,0,GAV,thre,0,&pID);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区在线看片| 综合色天天鬼久久鬼色| 久久国产福利国产秒拍| 国产精品女人毛片| 国产欧美日韩视频在线观看| 欧美本精品男人aⅴ天堂| 欧美一区二区三区四区久久| 制服丝袜在线91| 在线免费观看日本一区| 欧美色图激情小说| 欧美三级乱人伦电影| 色婷婷综合激情| 欧美综合一区二区三区| 欧美片网站yy| 日韩精品一区二区三区四区| 国产亚洲精品资源在线26u| 欧美www视频| 欧美国产视频在线| 国产精品麻豆久久久| 最新成人av在线| 亚洲一区中文在线| 蜜桃传媒麻豆第一区在线观看| 日本成人在线看| 国产真实乱子伦精品视频| 国产成人免费高清| 91浏览器打开| 日韩欧美一区二区免费| 国产嫩草影院久久久久| 亚洲综合激情网| 男女性色大片免费观看一区二区 | 亚洲一区二区三区美女| 波多野结衣中文字幕一区| 91久久精品一区二区三| 日韩视频永久免费| 中文字幕精品一区二区三区精品| 亚洲精品v日韩精品| 日本欧美在线观看| 91丨九色丨蝌蚪富婆spa| 欧美日韩午夜精品| 国产精品视频你懂的| 日韩国产精品久久久| 成人网页在线观看| 欧美一区二区三区四区高清| 日韩一区欧美小说| 久久精品国产秦先生| 色成年激情久久综合| 久久综合九色综合97婷婷 | 亚洲福利电影网| 国产成人午夜精品影院观看视频 | 成人免费福利片| 日韩一区二区三区免费看| 国产精品久久久久永久免费观看 | 久久亚洲精精品中文字幕早川悠里 | 国产精品高清亚洲| 蜜臀av在线播放一区二区三区| 国产白丝网站精品污在线入口| 欧美日韩一区精品| 亚洲同性gay激情无套| 国产呦精品一区二区三区网站| 欧美亚洲愉拍一区二区| 国产精品久久久久久久岛一牛影视 | 精品国产人成亚洲区| 亚洲精品成人悠悠色影视| 国产黄色91视频| 欧美精品v国产精品v日韩精品| 国产农村妇女精品| 国产成人精品影视| 久久婷婷一区二区三区| 精品一区二区精品| 宅男噜噜噜66一区二区66| 国产精品福利一区| 成人一区二区在线观看| 久久久精品人体av艺术| 国产一区久久久| 精品va天堂亚洲国产| 久久黄色级2电影| 精品少妇一区二区三区日产乱码 | 五月激情综合色| 欧美在线一区二区三区| 亚洲精品美国一| 91老师国产黑色丝袜在线| 中文字幕乱码一区二区免费| 成人丝袜18视频在线观看| 国产欧美精品区一区二区三区| 国产在线视频一区二区三区| 日韩欧美一区二区三区在线| 久久国产精品99久久人人澡| 日韩精品中午字幕| 美女精品一区二区| 亚洲精品一区二区三区精华液| 韩国三级中文字幕hd久久精品| 26uuuu精品一区二区| 国产电影一区二区三区| 国产精品欧美精品| 欧洲色大大久久| 天堂成人国产精品一区| 91精品麻豆日日躁夜夜躁| 日韩精品一区第一页| 精品国精品国产| 成人午夜精品一区二区三区| 亚洲情趣在线观看| 欧美高清视频一二三区| 国产一区二区三区蝌蚪| 亚洲视频一区二区在线| 6080亚洲精品一区二区| 国产激情91久久精品导航 | 成人激情黄色小说| 一区二区三区四区中文字幕| 欧美日韩亚洲丝袜制服| 经典三级视频一区| 亚洲色图清纯唯美| 欧美一区二区三区成人| 成人黄色软件下载| 日本女人一区二区三区| 亚洲天堂av一区| 欧美精品一区二区三区很污很色的| 国产成人在线免费观看| 亚洲一区二区欧美激情| 精品国产一区二区国模嫣然| www.日韩大片| 青青草一区二区三区| 亚洲欧洲精品一区二区三区| 欧美日本高清视频在线观看| 麻豆高清免费国产一区| 亚洲另类色综合网站| 色婷婷久久久久swag精品| 国产麻豆精品95视频| 天天综合天天综合色| 国产精品理论在线观看| 精品国产三级电影在线观看| 欧美日韩国产一区| 91麻豆免费视频| 岛国精品在线播放| 国产一区二区主播在线| 爽好久久久欧美精品| 亚洲欧洲www| 精品蜜桃在线看| 91国产成人在线| 国产成人综合精品三级| 久久97超碰色| 天天操天天综合网| 亚洲国产aⅴ天堂久久| 最新国产の精品合集bt伙计| 中文字幕国产精品一区二区| 精品成人在线观看| 精品国产乱子伦一区| 欧美男男青年gay1069videost| 91久久精品一区二区三区| 91色婷婷久久久久合中文| 成人美女视频在线观看| 国产成人精品网址| 国产一区二区主播在线| 国产成人午夜高潮毛片| 国产一区二区三区香蕉| 韩国av一区二区三区| 精品一区二区三区影院在线午夜| 免费观看在线综合色| 久久成人免费网站| 国产一区二区不卡在线| 久草这里只有精品视频| 日韩高清在线电影| 日韩精品欧美精品| 久久av老司机精品网站导航| 欧美a级一区二区| 国产一区在线观看视频| 国产精品一区2区| 成人精品视频一区| 色妹子一区二区| 91黄色免费网站| 在线播放国产精品二区一二区四区| 5566中文字幕一区二区电影| 日韩精品一区二区三区在线观看| 日韩欧美国产一区在线观看| 久久蜜臀精品av| 中文字幕一区在线| 亚洲综合成人在线| 久久精品国产一区二区三| 高清beeg欧美| 欧美午夜免费电影| 精品粉嫩超白一线天av| 国产精品美女久久福利网站| 亚洲欧美另类综合偷拍| 午夜免费久久看| 国产麻豆精品在线观看| 色成年激情久久综合| 精品国产精品网麻豆系列| 成人欧美一区二区三区黑人麻豆| 午夜天堂影视香蕉久久| 国产精品一区二区男女羞羞无遮挡| av午夜精品一区二区三区| 3751色影院一区二区三区| 欧美国产精品一区二区三区| 午夜精品久久久久久久久| 国产91精品入口| 日韩一区二区免费视频| 日韩美女视频一区| 国产乱子伦视频一区二区三区| 欧洲激情一区二区| 日本一区二区在线不卡| 日本vs亚洲vs韩国一区三区二区|