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

正文內(nèi)容

畢業(yè)設(shè)計論文--幾種常見的圖像邊緣檢測算子及其比較(文件)

2024-12-25 23:04 上一頁面

下一頁面
 

【正文】 QUAD[256]。 fclose(fp)。 if(biBitCount==8) colorTablesize=1024。 //申請位圖文件頭結(jié)構(gòu)變量,填寫文件頭信息 BITMAPFILEHEADER fileHead。 = 0。 //申請位圖信息頭結(jié)構(gòu)變量,填寫信息頭信息 BITMAPINFOHEADER head。 =0。 =lineByte*height。 //寫位圖信息頭進內(nèi)存 fwrite(amp。 //關(guān)閉文件 fclose(fp)。 void sobel(unsigned char *pBmpBufsobel)。 void main() { //讀入指定 BMP 文件進內(nèi)存 char readPath[]=c:/。 laplace(pBmpBuf)。 kirsch(pBmpBuf)。 unsigned char pBmpBuf9[256*256]。ix255。 vy=ff(ix,iy+1)ff(ix,iy)。 //模板 2 for(ix=1。iy++) { vx=ff(ix,iy)ff(ix+1,iy+1)。 saveBmp(writePath2, pBmpBuf9, bmpWidth, bmpHeight, biBitCount, pColorTable)。 int ix,iy,im,mx,my,jx,jy,jpv,mxav。ix++) for(iy=1。im++) { jpv=0。mx++) { jx=ix1+mx。 jpv=jpv+ff(jx,jy)*mask[im][mx][my]。 saveBmp(writePath, pBmpBuf9, bmpWidth, bmpHeight, biBitCount, pColorTable)。 int ix,iy,im,mx,my。ix255。im=7。mx=2。my++) { jy=iy1+my。 } //將圖像數(shù)據(jù)存盤 char writePath[]=。 unsigned char pBmpBuf9[256*256]。ix255。im=7。iy255。 static int mask[8][3][3]= { 5,5,5,3,0,3,3,3,3, 3,5,5,3,0,5,3,3,3, 3,3,5,3,0,5,3,3,5, 3,3,3,3,0,5,3,5,5, 3,3,3,3,0,3,5,5,5, 3,3,3,5,0,3,5,5,3, 5,3,3,5,0,3,5,3,3, 5,5,3,5,0,3,3,3,3, }。 } //kirsch void kirsch(unsigned char *pBmpBufkirsch) { unsigned char *pBmpBuf0。 } } if((jpvmxav)||(im==0))mxav=jpv。 for(my=0。 mxav=0。iy255。 static int mask[8][3][3]= { 1,1,1,1,2,1,1,1,1, 1,1,1,1,2,1,1,1,1, 1,1,1,1,2,1,1,1,1, 1,1,1,1,2,1,1,1,1, 1,1,1,1,2,1,1,1,1, 1,1,1,1,2,1,1,1,1, 1,1,1,1,2,1,1,1,1, 1,1,1,1,2,1,1,1,1, }。 pBmpBuf0=pBmpBufprewitt。 } gg(ix,iy)=mxav。my=2。 for(mx=0。iy++) { for(im=0。 for(ix=1。 pBmpBuf0=pBmpBufrobin。 gg(ix,iy)=abs(vx)+abs(vy)。ix++) for(iy=1。 } } //將圖像數(shù)據(jù)存盤 char writePath[]=。iy255。 pBmpBuf0=pBmpBufroberts。 delete []pColorTable。 robinson(pBmpBuf)。 //輸出圖像的信息 printf(width=%d,height=%d, biBitCount=%d\n,bmpWidth,bmpHeight, biBitCount)。 void prewitt(unsigned char *pBmpBufprewitt)。 } // //各邊緣檢測算子算法實現(xiàn) //函數(shù)聲明 void roberts(unsigned char *pBmpBufroberts)。 //如果灰度圖像,有顏色表,寫入文件 fwrite(pColorTable, sizeof(RGBQUAD),256, fp)。 =0。 =1。 =0。 //寫文件頭進文件 fwrite(amp。//bmp 類型 //bfSize 是圖像文件 4個組成部分之和 = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER)+ colorTablesize + lineByte*height。 //以二進制寫的方式打開文件 FILE *fp=fopen(bmpName,wb)。//讀取文件成功 } // //給定一個圖像位圖數(shù)據(jù)、寬、高、顏色表指針及每像素所占的位數(shù)等信息 ,將其寫到指定文件中 bool saveBmp(char *bmpName, unsigned char *imgBuf, int width, int height, int biBitCount, RGBQUAD *pColorTable) { //如果位圖數(shù)據(jù)指針為 0,則沒有數(shù)據(jù)傳入,函數(shù)返回 if(!imgBuf) return 0。 } //申請位圖數(shù)據(jù)所需要的空間,讀位圖數(shù)據(jù)進內(nèi)存 pBmpBuf=new unsigned char[lineByte * bmpHeight]。 biBitCount = 。 fread(amp。//圖像類型,每像素位數(shù) //讀圖像的位圖數(shù)據(jù)、寬、高、顏色表及每像素位數(shù)等數(shù)據(jù)進內(nèi)存,存放在相應(yīng)的全局變量中 bool readBmp(char *bmpName) { FILE *fp=fopen(bmpName,rb)。//讀入圖像數(shù)據(jù)的指針 int bmpWidth。 感謝 XX 老師對我的畢業(yè)設(shè)計的指導,使我的困難及時解決,并給出了很多建議,使我的畢業(yè)設(shè)計順利完成。如何在灰度圖像邊緣檢測技術(shù)研究的基礎(chǔ)上 ,結(jié)合彩色圖像的特點,開展彩色圖像邊緣檢測的研究也是進一步需要研究的地方。并且衡量一個算子的優(yōu)劣沒有固定的標準,這使得對邊緣檢測算子優(yōu)劣的評價也很模糊。并介紹了經(jīng)典邊緣檢測方法,包括: Roberts 算子、 Sobel 算子、 Prewitt 算子、 Robinson 算子、 Kirsch 算子和 Laplace算子等,這類算子是基于微分的邊緣檢測,屬于經(jīng)典邊緣檢測算子,它們的共同特點是在空間域上對被考察點的鄰域進行一定的加權(quán)運算,將計算的結(jié)果作為邊 緣強度,其中 Roberts 算子、 Sobel 算子是將水平方向和垂直方向近似微分的絕對值的和作為最后的結(jié)果;而 Prewitt 算子、 Robinson 算子、 Kirsch 算子是 用模板中不等權(quán)的 8個算子分別與原標準圖像圖像進行卷積,然后取這 8個值的最大值作為最后的輸出值;Laplace 算子是基于二階微分的邊緣檢測算子,這種算子實現(xiàn)結(jié)果并不好,一般很少直接用于圖像邊緣檢測。 第 3 章 總結(jié) 圖像邊緣是圖像重要的基本特征之一,它對人類認識世界有很重要的作用。 Laplace算子有三種算法,對應(yīng)的三種差分公式分別為式 ()、式 ()、式 (): 2 ( , ) ( 1 , ) ( , 1 ) ( , 1 ) 4 ( , )f x y f x y f x y f x y f x y? ? ? ? ? ? ? ? () )1,1(),1()1,1()1,()1,( )1,1(),1()1,1(),(8),(2???????????? ?????????? yxfyxfyxfyxfyxf yxfyxfyxfyxfyxf () )1,1(),1(2)1,1()1,(2)1,(2 )1,1(),1(2)1,1(),(4),(2???????????? ?????????? yxfyxfyxfyxfyxf yxfyxfyxfyxfyxf () 三種差分公式分別對應(yīng)三種模板如 圖 ,模板的特點是中心值大,邊緣值較小,且所有值的和為零。 Laplace 算子 Laplace算子是基于二階微分的邊緣檢測。方向 ( 7) 225176。方向 ( 3) 270176。 Kirsch 算子對圖像中的每個像素 ),( yx ,考察它的八個臨點的灰度變化,用其中三個相鄰臨點的加權(quán)和減去剩下的五個臨點的加權(quán)和。方向 ( 8) 45176。方向 ( 4) 225176。該算子依次用邊緣模板去檢測圖像,與被檢測區(qū)域最為相似的模板給出最大值,用該最大值作為算子的輸出值,從而使圖像邊緣像素得到增強。方向 圖 Prewitt邊緣檢測算子 由圖 模板 (1),可得式 (),然后依次可得出其他七個值,然后取它們的最大值即 ),( yxg 。方向 1111 2 1111?????????? 1 1 11 2 11 1 1?????????? 1111 2 1111?????????? 1 1 11 2 11 1 1?????????? ( 5) 270176。 Prewitt 邊緣檢測算子的 8 個模板如 圖 : 1111 2 1111?????????? 1 1 11 2 1111?????????? 1 1 11 2 11 1 1?????????? 1 1 11 2 11 1 1??????????? ( 1) 90176。 Sobel算子根據(jù)在邊緣點處達到極值這一現(xiàn)象進行邊緣的檢測 ,不但產(chǎn)生較好的邊緣效果,算法實現(xiàn)也很簡單,而且 Sobel算子在微分時進行 加權(quán)平均,這 對噪聲具有平滑作用。該算子是以 ),( yxf 為中心的 33? 鄰域上計算 x 和 y 方向的偏導數(shù),即 式()、式 (): )1,1(),1(2)1,1( )1,1(),1(2)1,1( ???????? ???????? yxfyxfyxf yxfyxfyxfs x () )1,1()1,(2)1,1( )1,1()1,(2)1,1( ???????? ???????? yxfyxfyxf yxfyxfyxfs y ( ) 實際上,上式應(yīng)用了 f(x,y)鄰域圖像強度的加權(quán)平均差值。 Roberts 邊緣檢測算子不包含平滑,故不能抑制噪聲 [10]。 Roberts算子檢測兩個對角線方向,公式為 式 (): 22( , ) [ ( , ) ( 1 , 1 ) ] [ ( , 1 ) ( 1 , ) ]g x y f x y f x y f x y f x y? ? ? ? ? ? ? ? () ),( yxg 表示圖像處理后的灰度值, ),( yxf 表示處理前的灰度值。圖像處理中常把梯度的模簡稱為梯度,由圖像梯度構(gòu)成的圖像稱為梯度圖像 [8]。梯度是函數(shù)變化的一種度量,而一幅圖像可以看作是圖像強度連續(xù)函數(shù)的取樣點序列。五 是對圖像邊緣檢測評價的研 究和對評價系數(shù)的研究越來越得到關(guān)注。三是交互式檢測研究的深入。仍然存在的問題主要有兩個 :其一是沒有一種
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1