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

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

?? fuzzyregionlabel.cpp

?? 基于模糊理論的連通區(qū)域標記算法
?? CPP
字號:
// FuzzyLabel.cpp: implementation of the CFuzzyLabel class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "APCount.h"
#include "FuzzyLabel.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CFuzzyLabel::CFuzzyLabel()
{
	m_pSrcBits = NULL;

	m_pFrstLabel = m_pThisLabel = NULL;
	m_pFrstRect  = m_pThisRect  = NULL;

	m_snImageWidth = m_snRowBytes = m_snImageHeight = 0;
	m_bInitStatus  = FALSE;
}


CFuzzyLabel::~CFuzzyLabel()
{
	DeleteMem();
}


void CFuzzyLabel::DeleteMem( )
{
	m_pSrcBits = NULL;

	/*釋放所有標記位置的鏈表所占用的內(nèi)存*/
	m_pThisLabel = m_pFrstLabel;
	while ( m_pThisLabel != NULL )
	{
		m_pFrstLabel = m_pThisLabel;
	    m_pThisLabel = m_pThisLabel->pLabelNext;
		if ( m_pFrstLabel != NULL )
		{
			delete[] m_pFrstLabel;
		}
	}
	m_pFrstLabel = m_pThisLabel = NULL;

	m_pThisRect = m_pFrstRect;
	while ( m_pThisRect != NULL )
	{
		m_pFrstRect = m_pThisRect;
	    m_pThisRect = m_pThisRect->pRectNext;
		if ( m_pFrstRect != NULL )
		{
			delete[] m_pFrstRect;
		}
	}
	m_pFrstRect = m_pThisRect = NULL;
}


void CFuzzyLabel::ParamInit( short snImageWidth, short snImageHeight )
{
	if ( m_bInitStatus == FALSE )
	{
		DeleteMem();

		m_snImageWidth  = snImageWidth;
		m_snRowBytes    = snImageWidth * ONE_BYTES;
		m_snImageHeight = snImageHeight;

		m_pSrcBits = NULL;

		/*頭節(jié)點不存儲任何實際的連通區(qū)域信息*/
		m_pFrstLabel = m_pThisLabel = new LabelLocation;
		m_pThisLabel->snStartX   = -1;
		m_pThisLabel->snEndX     = -1;
		m_pThisLabel->snHeight   = -1;
		m_pThisLabel->pLabelNext = NULL;

		/*頭節(jié)點不存儲任何最小外接矩形信息*/
		m_pFrstRect = m_pThisRect = new LabelRect;
		m_pThisRect->snLeftX   = -1;
		m_pThisRect->snRightX  = -1;
		m_pThisRect->snBottomY = -1;
		m_pThisRect->snTopY    = -1;
		m_pThisRect->pRectNext = NULL;
		
		m_bInitStatus = TRUE;
	}
}


/*標記連通的邊緣*/
void CFuzzyLabel::ConnxyLabel_Edge( LPBYTE lpSrcBits )
{
	m_pSrcBits = lpSrcBits;
	/*置連通區(qū)域的初始標記*/
	m_byLabelVal = FORE_GROUND_3;

	/*記錄連通區(qū)域最小外接矩形的開始地址*/
	m_pThisRect = m_pFrstRect;
	
	LPBYTE pSrc = lpSrcBits;
	short  dwStartX  = 0,
		   dwWidth   = 0;
	BYTE   byThisVal = 0;
	
	for ( short h = 0; h < m_snImageHeight; ++ h )
	{
		for ( short w = 0; w < m_snRowBytes; NULL )
		{
			switch ( pSrc[ w ] )
			{
			case FORE_GROUND_1:
				for ( dwStartX = w, w += ONE_BYTES;
				      ( FORE_GROUND_1 == pSrc[ w ] ) && ( w < m_snRowBytes );
					  w += ONE_BYTES );
				EdgeProc( dwStartX, w, h, FORE_GROUND_1 );

				break;

			case FORE_GROUND_2:
				for ( dwStartX = w, w += ONE_BYTES;
				      ( FORE_GROUND_2 == pSrc[ w ] ) && ( w < m_snRowBytes );
					  w += ONE_BYTES );
				EdgeProc( dwStartX, w, h, FORE_GROUND_2 );

				break;

			case BACK_GROUND:
				for ( dwStartX = w, w += ONE_BYTES;
				      ( BACK_GROUND == pSrc[ w ] ) && ( w < m_snRowBytes );
					  w += ONE_BYTES );

				break;

			default:
				byThisVal = pSrc[ w ];
				for ( w += ONE_BYTES;
				      ( byThisVal == pSrc[ w ] ) && ( w < m_snRowBytes );
					  w += ONE_BYTES );

				break;
			}
		}

		pSrc += m_snRowBytes;
	}

	m_pSrcBits = NULL;
}


/*連通的邊緣處理過程*/
void  CFuzzyLabel::EdgeProc( short dwStartX, short dwEndX,
						     short dwHeight, BYTE byForeType )
{
	if ( m_byLabelVal < 254 )
	{
		++m_byLabelVal;
	}
	else
	{
		m_byLabelVal = FORE_GROUND_3 + 1;
	}

	m_dwLabelStat   = 0;
	m_dwLabelStartX = dwStartX;
	m_dwLabelEndX   = dwEndX;
	m_dwLabelStartY = dwHeight;
	m_dwLabelEndY   = dwHeight + 1;
	//獲得記錄本連通區(qū)域位置的首指針
	m_pThisLabel = m_pFrstLabel;

	//開始進行遞歸標記
	switch ( byForeType )
	{
	case FORE_GROUND_1:
		RecurLabel_1( dwStartX, dwEndX, dwHeight );
		break;
	
	case FORE_GROUND_2:
		RecurLabel_2( dwStartX, dwEndX, dwHeight );
		break;
	
	default:
		break;
	}

	if ( m_dwLabelStat < EDGE_THRESHOLD )//噪音區(qū)域,消除之
	{
		//消除該標記
    	DeleteLabel( );
		if ( m_byLabelVal == FORE_GROUND_3 + 1 )
		{
			m_byLabelVal = 254;
		}
		else
		{
			--m_byLabelVal;
		}
	}
	else
	{
		//保留其最小外接矩形信息
		if ( m_pThisRect->pRectNext != NULL )
		{
			m_pThisRect = m_pThisRect->pRectNext;
		}
		else
		{
			m_pThisRect->pRectNext = new LabelRect;
			m_pThisRect->pRectNext->pRectNext = NULL;
			m_pThisRect = m_pThisRect->pRectNext;
		}
		m_pThisRect->snLeftX   = m_dwLabelStartX;
		m_pThisRect->snRightX  = m_dwLabelEndX;
		m_pThisRect->snBottomY = m_dwLabelStartY;
		m_pThisRect->snTopY    = m_dwLabelEndY;
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品在线免费播放| 国产精品青草综合久久久久99| 欧美三级韩国三级日本一级| 欧美伦理影视网| 国产日产欧美一区| 日韩中文字幕不卡| 国产.精品.日韩.另类.中文.在线.播放| 91在线云播放| 欧美成人福利视频| 亚洲日本在线观看| 国产一区二区福利| 在线成人av影院| 国产精品你懂的在线欣赏| 男女男精品视频网| 在线看日本不卡| 国产精品网曝门| 精品综合久久久久久8888| 在线观看视频一区| 亚洲欧洲精品天堂一级| 国产一区不卡精品| 日韩精品一区在线| 天天综合色天天综合色h| 91玉足脚交白嫩脚丫在线播放| 精品久久久久一区| 美腿丝袜亚洲一区| 欧美一区二区三区在线视频| 亚洲欧美日韩国产中文在线| 丁香六月综合激情| 久久久久久日产精品| 美国三级日本三级久久99| 欧美日韩精品电影| 亚洲va在线va天堂| 一本大道av一区二区在线播放 | 成年人国产精品| 欧美sm极限捆绑bd| 久久精品99国产精品| 欧美色男人天堂| 亚洲 欧美综合在线网络| 欧美性高清videossexo| 亚洲综合成人在线视频| 色视频欧美一区二区三区| 1000精品久久久久久久久| av在线播放成人| 国产精品二三区| 99视频超级精品| 国产精品理论片| 91啦中文在线观看| 午夜精品福利在线| 日韩一区二区电影| 国内精品伊人久久久久av影院| 欧美一卡2卡3卡4卡| 久久成人精品无人区| 久久综合久久久久88| 国产精选一区二区三区| 国产精品免费视频一区| 色婷婷综合视频在线观看| 亚洲国产欧美一区二区三区丁香婷| 在线中文字幕一区| 美女视频黄免费的久久| 国产日韩欧美精品电影三级在线| 成人污污视频在线观看| 一区二区三区四区五区视频在线观看| 91欧美一区二区| 手机精品视频在线观看| 精品国产欧美一区二区| 成人高清伦理免费影院在线观看| 亚洲欧美日韩在线不卡| 7777精品伊人久久久大香线蕉的| 久久精品国产99| 国产精品网站导航| 在线成人免费观看| 粗大黑人巨茎大战欧美成人| 亚洲美女淫视频| 日韩免费视频一区| 色婷婷综合视频在线观看| 久久99精品久久只有精品| 国产精品蜜臀在线观看| 555夜色666亚洲国产免| 国产91在线|亚洲| 图片区小说区区亚洲影院| 久久精品一区二区三区不卡| 欧洲一区在线观看| 裸体歌舞表演一区二区| 亚洲激情自拍偷拍| 国产欧美精品一区二区三区四区| 97精品国产露脸对白| 韩国精品一区二区| 亚洲国产精品综合小说图片区| 精品99一区二区| 欧美性生交片4| 成人激情校园春色| 精品一区二区三区免费| 亚洲第一会所有码转帖| 国产精品无遮挡| 精品国产一区二区三区忘忧草| 91久久国产综合久久| 国产成人精品免费视频网站| 视频一区国产视频| 亚洲在线中文字幕| 国产精品国产成人国产三级| 久久久精品tv| 日韩免费电影网站| 9191国产精品| 欧美性高清videossexo| 色婷婷av一区二区三区大白胸 | 一区二区三区在线观看视频| 久久嫩草精品久久久久| 亚洲欧洲日产国产综合网| 欧美mv日韩mv国产| 91麻豆精品国产91久久久更新时间| 色婷婷国产精品久久包臀| 成人免费三级在线| 丁香婷婷深情五月亚洲| 国产一区激情在线| 国产一区视频网站| 激情伊人五月天久久综合| 日产国产欧美视频一区精品| 亚洲综合免费观看高清完整版在线 | 日韩一级在线观看| 在线成人免费观看| 91麻豆精品国产自产在线| 制服.丝袜.亚洲.另类.中文| 欧美精品自拍偷拍| 69p69国产精品| 欧美一级黄色录像| 日韩欧美aaaaaa| 久久久久成人黄色影片| 欧美极品美女视频| 亚洲啪啪综合av一区二区三区| 亚洲婷婷综合色高清在线| 综合久久久久久| 亚洲狠狠丁香婷婷综合久久久| 一区二区三区在线免费视频| 亚洲第一主播视频| 开心九九激情九九欧美日韩精美视频电影| 天天色综合成人网| 激情成人综合网| 丁香五精品蜜臀久久久久99网站| 成人精品国产一区二区4080| 91色九色蝌蚪| 3d动漫精品啪啪| 久久蜜桃av一区精品变态类天堂| 国产欧美精品区一区二区三区| 国产精品久久久久久久久久免费看 | 欧美日韩精品三区| 日韩欧美一区二区不卡| 久久精品视频网| 最好看的中文字幕久久| 国产一区二区免费看| 懂色av中文字幕一区二区三区| 99re这里只有精品首页| 欧美日韩一区三区| 久久精品视频网| 亚洲国产精品视频| 国产成人一区在线| 精品视频免费看| 国产视频一区在线播放| 一级特黄大欧美久久久| 精品一区二区在线免费观看| 成人免费高清视频在线观看| 欧美在线不卡视频| 国产亚洲综合av| 亚洲国产成人av好男人在线观看| 久久国产麻豆精品| 色综合天天综合网天天狠天天 | 国产成人免费xxxxxxxx| 91搞黄在线观看| xfplay精品久久| 亚洲成人在线免费| 成人黄页在线观看| 欧美电影免费观看完整版| 亚洲老妇xxxxxx| 国产99精品在线观看| 日韩一级欧美一级| 亚洲综合色丁香婷婷六月图片| 国产精品一区二区三区99| 欧美日韩免费一区二区三区| 国产午夜精品美女毛片视频| 午夜免费欧美电影| 91一区二区三区在线观看| 26uuu国产一区二区三区| 亚洲综合成人在线视频| 99视频超级精品| 国产日韩欧美精品一区| 免费看欧美女人艹b| 欧美日韩精品免费| 亚洲欧美另类久久久精品| 国产一区二区三区精品欧美日韩一区二区三区 | 成人精品一区二区三区四区| 日韩欧美国产一区在线观看| 亚洲不卡一区二区三区| 成人性生交大片免费看中文网站| 精品日韩成人av| 日韩av中文字幕一区二区三区| 在线免费视频一区二区| 国产精品嫩草影院com| 成人黄色一级视频| 中国色在线观看另类| 国产精品99久久久久久宅男| 欧美成人一级视频|