freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

最新數(shù)字圖像邊緣檢測(cè)算法設(shè)計(jì)與實(shí)現(xiàn)(參考版)

2025-07-10 14:32本頁(yè)面
  

【正文】 感謝我的導(dǎo)師和朋友給我的幫助。致謝經(jīng)過(guò)很長(zhǎng)時(shí)間完成了這次畢業(yè)設(shè)計(jì),在這個(gè)課題設(shè)計(jì)和研究的過(guò)程中,學(xué)習(xí)到了課堂以外的知識(shí),同時(shí)也培養(yǎng)了我的創(chuàng)新精神,與此同時(shí)也了解了科技中的多領(lǐng)域多學(xué)科是相互結(jié)合相互滲透的。結(jié)論科學(xué)技術(shù)飛速發(fā)展,圖像處理技術(shù)運(yùn)用越來(lái)越多由于電子技術(shù)以深入到我們生活中的方方面面機(jī)器視覺(jué)等應(yīng)用的前提和基礎(chǔ)就是圖像處理技術(shù),圖像的邊緣提取也就是圖像識(shí)別。MATLAB功能很多,如能夠?qū)崿F(xiàn)算法、矩陣運(yùn)算、連接其他編程語(yǔ)言的程序等,可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語(yǔ)言的程序等。 return TRUE。 if(num==0) s=(unsigned char)*(lpPtrLineBytes)。 //右鄰點(diǎn) w=(unsigned char)*(lpPtr1)。 //上鄰點(diǎn) num,n,w,e,s。 return TRUE。 LocalFree(hTempImgData)。 ReleaseDC(hWnd,hDc)。 _lclose(hf)。bf,sizeof(BITMAPFILEHEADER))。 hf=_lcreat(c:\\,0)。 hDc=GetDC(hWnd)。 if(hBitmap!=NULL) } } //記住當(dāng)前點(diǎn)的位置 if(IsContourP(x,y,lpPtr)){ //若是個(gè)邊界點(diǎn) (y==)))(*lpTempPtr!=0))||((x==)amp。 if(((*lpPtr==0)amp。 lpPtr=(char *)lpImgData+(BufSizeLineBytesy*LineBytes)+x。 lpTempPtr=(char*)lpTempImgData+(BufSizeLineBytesy*LineBytes)+x。i++){ //direct[i]中存放的是該方向x,y的偏移值 for(i=0。 lpTempPtr=(char*)lpTempImgData+(*LineBytes)+。(==))){ //知道找到起始點(diǎn),//循環(huán)才結(jié)束 while (! ( (==) amp。 } else{ //若仍為白,則找左下鄰點(diǎn) } if(*lpPtr!=0){ //若仍為白,則找下鄰點(diǎn) =+1。 //起始點(diǎn)涂黑 if(found){ //如果找到了,才做處理//在這里把它們減1,得到//起始點(diǎn)坐標(biāo)StartP } !found。x amp。 y++){amp。 for (y=0。 memcpy(lpTempImgData,lpImgData,OffBits)。 //拷貝頭信息 lpTempImgData=(LPBITMAPINFOHEADER)LocalLock(hTempImgData)。 return FALSE。 if((hTempImgData=LocalAlloc(LHND,BufSize))==NULL) OffBits=(BITMAPFILEHEADER)。}//到位圖數(shù)據(jù)的偏移值 if( NumColors!=256){MessageBox(hWnd,Must be a mono bitmap with grayscale palette!,Error Message,MB_OK|MB_ICONEXCLAMATION)。 i。 int BOOL POINT hf。 HFILE lpTempPtr。 lpTempImgData。 hTempImgData。 HLOCAL LPSTRLPBITMAPINFOHEADER }經(jīng)過(guò)順序找出邊緣點(diǎn)以跟蹤出邊界就是輪廓跟蹤。 GlobalUnlock(hImgData)。 LocalUnlock(hTempImgData)。 //釋放內(nèi)存和資源 _lwrite(hf,(LPSTR)lpTempImgData,BufSize)。 _lwrite(hf,(LPSTR)amp。 hBitmap=CreateDIBitmap(hDc,(LPBITMAPINFOHEADER)lpTempImgData,(LONG)CBM_INIT,(LPSTR)lpTempImgData+sizeof(BITMAPINFOHEADER)+NumColors*sizeof(RGBQUAD),(LPBITMAPINFO)lpTempImgData,DIB_RGB_COLORS)。 //創(chuàng)建新的位圖 DeleteObject(hBitmap)。 DeInitStack()。 //析構(gòu)堆棧,釋放內(nèi)存 } } MyPush(NeighborP)。 lpTempPtr1=lpTempPtrLineBytes。 =。 { //下鄰點(diǎn) if(*lpTempPtr1!=0) =。 if() //注意判斷邊界 if(*lpTempPtr1!=0) =。 if(0) //注意判斷邊界 if(*lpTempPtr1!=0) =。 if(0) //注意判斷邊界 //將該點(diǎn)涂黑 lpTempPtr=(char*)lpTempImgData+(*LineBytes)+。 CurP=MyPop()。 MyPush(SeedPoint)。 //push該點(diǎn)(用戶用鼠標(biāo)選擇的,處理是在WM_LBUTTONDOWN中 } DeInitStack()。 GlobalUnlock(hImgData)。 LocalFree(hTempImgData)。 LocalUnlock(hTempImgData)。MessageBox(hWnd,The point you select is a contour point!,Error Message,MB_OK|MB_ICONEXCLAMATION)。 lpTempPtr=(char*)lpTempImgData+(*LineBytes)+。 } //若失敗,釋放內(nèi)存,返回 if(!InitStack(hWnd,(LONG)*)){ lpTempImgData=(LPBITMAPINFOHEADER)LocalLock(hTempImgData)。 lpImgData=(LPBITMAPINFOHEADER)GlobalLock(hImgData)。 MessageBox(hWnd,Error alloc memory!,Error Message,MB_OK|MB_ICONEXCLAMATION)。 { if((hTempImgData=LocalAlloc(LHND,BufSize))==NULL)}OffBits=(BITMAPFILEHEADER)。 if( NumColors!=256){MessageBox(hWnd,Must be a mono bitmap with grayscale palette!,Error Message,MB_OK|MB_ICONEXCLAMATION)。 POINT hDc。 HDC LPSTR LPBITMAPINFOHEADER lpImgData。 }要注意的是:(1)要填充的區(qū)域是封閉的;(2)我們只用到了0和255兩種顏色; MYSTACK SeedFillStack。 return *(+)。 //返回棧頂點(diǎn) //棧頂指針減1 return InvalidP。 =1。 POINT InvalidP。}//pop操作POINT MyPop(){ (*TempPtr).y=。 TempPtr=(POINT *)(+++)。
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1