8-鄰域邊界跟蹤算法_第1頁
8-鄰域邊界跟蹤算法_第2頁
8-鄰域邊界跟蹤算法_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、C+利用點的八鄰域信息,選擇下一個點作為邊界點,這個算法需要選擇一個開始點,可以選擇圖像上是目標(biāo)點,在最上,最左的點。然后查看它的八鄰域的點,從右下方45°的位置開始尋找,如果是目標(biāo)點,將沿順時針90°作為下一次尋找的方向,如果不是,則逆時針45。繼續(xù)尋找,一旦找到重復(fù)上面的過程。void VessDibTrack(HDIB hdib,vector<POINT >& pt) /八鄰域un sig ned char *lpSrc;LPSTR lpDIB = (LPSTR) :GlobalLock(HGLOBAL)hdib);in t cxDIB = (in

2、t) :DIBWidth(lpDIB);/ Size of DIB - xin t cyDIB = (int) :DIBHeight (l pDIB);/ Size of DIB - yLPSTR lpDIBBits=:Fi ndDIBBits (I pDIB);long lLi neBytes = WIDTHBYTES(cxDIB * 8); /計算圖像每行的字節(jié)數(shù)/尋找開始點,最右,最下/先行,后列int i,j;POINT startPt,currPt;for (i = 0;i<cyDIB;+i)for (j = 0;j<cxDIB;+j)lpSrc = (un sig ne

3、d char*)lpDIBBits + ILin eBytes * (cyDIB -1 - i) + j;if (*lpSrc=0) /是黑點startPt.x = i;startPt.y = j;/ 停止條件i = cyDIB;j = cxDIB;/設(shè)置方向數(shù)組/ int direction82= -1,-1,0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0;int directio n82 = -1,1,0,1,1,1,1,0,1,-1,0,-1,-1,-1,-1,0;int startDirect ;BOOL Fin dStartPoi nt = FALSE;BOOL Fi

4、 ndPoi nt = FALSE;/開始跟蹤currPt.x = startPt.x;currPt.y = startPt.y;POINT NextPt ;int NextPtValue;startDirect = 0;int cnt= 0;while(!Fi ndStartPoi nt&&cnt<100000)Fi ndPoi nt = FALSE;pt.push_back(currPt);while(!Fi ndPoi nt)/沿預(yù)定方向掃描,尋找下一個點NextPt.x = currPt.x + directio nstartDirect1;NextPt.y =

5、currPt.y + directio nstartDirectO;IpSrc = (un sig ned char*)lpDIBBits + ILin eBytes * (cyDIB -1 - NextPt.x) +NextPt.y;/NextPtValue = GetPiexValue(hdib,NextPt.x,NextPt.y);NextPtValue = * lpSrc;if (NextPtValue =0&&NextPt.x>=0&&NextPt.x<cyDIB&&NextPt.y>=0&&NextPt.y<cxDIB)Fi ndPoi nt = TRUE;currPt.x = NextPt.x;currPt.y = NextPt.y;if (currPt.x = startPt.x&&currPt.y = startPt.y)Fi ndStartPoi nt = TRUE;startDirect = startDirect-2;if(startDirect<0) startDirect = startDirect+8;elsestartDirect = startDirec

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論