中值濾波器設(shè)計及椒鹽噪聲濾除_第1頁
中值濾波器設(shè)計及椒鹽噪聲濾除_第2頁
中值濾波器設(shè)計及椒鹽噪聲濾除_第3頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、題目四:中值濾波器設(shè)計及椒鹽噪聲濾除、實驗背景在數(shù)字圖像的生成與采集過程中,由于受工作環(huán)境,器件等性能的影響,使得一幅未 經(jīng)處理的原始圖像,都存在著一定的噪聲干擾。這種噪聲具有以下性質(zhì):1圖像上的噪聲出現(xiàn)處呈現(xiàn)不規(guī)則分布;2、噪聲的大小也是不規(guī)則的。這些噪聲惡化了圖像質(zhì)量,使圖像模糊甚至淹沒目標特征,給后續(xù)的處理分析帶來了困難 因此需要對圖像應(yīng)該進行濾除噪聲處理。二、實驗?zāi)康?. 通過利用c程序?qū)崿F(xiàn)數(shù)字信號處理的相關(guān)功能,鞏固對信號處理原理知識的理解, 培養(yǎng)快速解決實際問題的能力提高實際編程和處理數(shù)據(jù)的綜合能力,初步培養(yǎng)在解決 信號處理實際應(yīng)用問題中所應(yīng)具備的基本素質(zhì)和要求。2. 培養(yǎng)獨立思考

2、的能力與研發(fā)能力,通過設(shè)計實現(xiàn)不同的信號處理問題,初步掌握 在給定條件和功能的情況下,實現(xiàn)合理設(shè)計算法結(jié)構(gòu)的能力。3. 提高資料查詢和整理的能力。能夠在短時間內(nèi)找到適合自己的方法。并在文獻整 理的過程中學(xué)會科技文獻的寫作,提高語言表達能力。三、實驗內(nèi)容1. 理解什么是椒鹽噪聲,中值濾波的原理及其特性。2. 設(shè)計一種中值濾波,對椒噪聲濾波有效,并分析濾波器的適用范圍。3. (擴展訓(xùn)練)對設(shè)計的濾波器針對椒、鹽噪聲濾除分別進行測試,并進行性能比較分析, 并討論椒、鹽噪聲頻度(噪聲數(shù)目占圖像實際像素的百分比)對濾波器實際效果的影響。四、實驗原理1. 椒鹽噪聲椒鹽噪聲又稱脈沖噪聲,是由圖像傳感器,傳輸

3、信道,解碼處理等產(chǎn)生的黑白相 間的亮暗點噪聲。椒鹽噪聲往往由圖像切割引起。Paz a椒鹽噪聲的PDF是:P ZPbZ b0其他如果b>a,灰度值b在圖像中將顯示為一個亮點,a的值將顯示為一個暗點。若Pa或Pb 為零,則脈沖噪聲稱為單級脈沖。如果 Pa和Pb均不為零,尤其是他們近似相等時,脈沖 噪聲值將類似于隨機分布在圖像上的胡椒和鹽粉微粒。形象的說,椒噪聲在圖像上是類似于黑胡椒顆粒的小點,而鹽噪聲在圖像上是類似于 白色鹽粒的小點。2、平滑化去噪聲思想,疋曰一種經(jīng)典的平滑噪聲的方如何從一副有噪聲的圖像中把噪聲去除呢?此時,因有隨機噪聲而把像素的真 值隱藏起來,而不被知曉,可表現(xiàn)為圖像變暗而

4、不清楚。我們的目的是要把干擾的噪 聲除去,得到視覺清晰的圖像。如右圖,噪聲的濃度與其周圍像素的濃度 間,存在著很大的濃度差,使人覺得很刺眼, 利用噪聲的這種性質(zhì)除去噪聲的方法,一般稱 為平滑化(smoothing )。3、中值濾波的原理及特性:中值濾波在圖像處理中,常用于用來保護邊緣信息 法。(1) 中值濾波原理中值濾波是基于排序統(tǒng)計理論的一種能有效抑制噪聲的非線性信號處理技術(shù),中值濾波的基本原理是把數(shù)字圖像或數(shù)字序列中一點的值用該點的一個拎域中各點值 的中值代替,讓周圍的像素值接近的真實值,從而消除孤立的噪聲點。方法是去某種 結(jié)構(gòu)的二維滑動模板,將板內(nèi)像素按照像素值的大小進行排序,生成單調(diào)上

5、升(或下降)的為二維數(shù)據(jù)序列。 二維中值濾波輸出為 g(x,y ) =medf(x-k,y-l),(k,l W),其中,f(x,y) ,g(x,y)分別為原始圖像和處理后圖像。 W為二維模板,通常為2*2,3*3 區(qū)域,也可以是不同的的形狀,如線狀,圓形,十字形,圓環(huán)形等。(2) 中值濾波器:中值濾波器:用該像素相鄰像素的灰度中值來代替該像素的值:?(x, y)medng(s,t)(S,t) Sxy實現(xiàn)方法:a. 通過從圖像中的某個采樣窗口取出奇數(shù)個數(shù)據(jù)進行排序,位于采樣窗中間的中值作為輸出;b. 丟棄最早的值,用排序后的中值取代要處理的數(shù)據(jù)即可。(3) 中值濾波特性中值濾波是圖像處理中的一個

6、常用步驟,它對于斑點噪聲和椒鹽噪聲來說尤其有用。中值濾波方法以犧牲圖像清晰度為代價消除圖像中的椒鹽噪聲。中值濾波不能保證把噪聲去除,只能在有限的范圍內(nèi)減弱噪聲對圖像的影響。同時,中值濾波不能多次使用,因為這樣會使圖像各個像素間趨于相同,整個圖像就會變得越來越模糊。另外,通過查閱資料發(fā)現(xiàn),中觀察窗的形狀有關(guān)。五、實驗步驟1、根據(jù)題目要求,先畫出程序的流程圖結(jié)束結(jié)束2、源程序:(1 )基礎(chǔ)訓(xùn)練部分:#i nclude <win dows.h>#include <stdio.h>unsigned char*pBmpBuf=NULL;讀入圖像數(shù)據(jù)的指針unsigned char

7、*pBmpBuf2=NULL; 讀入圖像數(shù)據(jù)的指針int bmpWidth;/圖像寬度int bmpHeight;/圖像高度RGBQUAD *pColorTable; 顏色表指針int biBitCou nt; /圖像類型,每像素的位數(shù)/讀程序可讀取8,24位圖,本實驗是對8位灰度圖進行操作,滿足要求bool readBmp(char *bmpName,i nt lmageWidth,i nt ImageHeight)int i,j;/行列數(shù)BYTE *B;/分別對應(yīng)圖像的RGB本實驗中RGB相等,故意義不大BYTE *R;BYTE *G;FILE *fp=fopen(bmpName,&quo

8、t;rb");/ 打開文件if(fp=0) retur n 0;fseek(fp,sizeof(BITMAPFILEHEADER),0);/ 找出頭文件BITMAPINFOHEADER head;fread(&head,sizeof(BITMAPINFOHEADER),1,fp);ImageWidth=head.biWidth;/ 圖像寬度賦值lmageHeight=head.biHeight;/ 圖像高度賦值bmpWidth=lmageWidth;bmpHeight=ImageHeight;biBitCou nt=head.biBitCou nt;int lineByte=

9、(bmpWidth*biBitCount/8+3)/4*4;/ 一行中信息點字節(jié)if (biBitCou nt=8)pColorTable=new RGBQUAD256; fread(pColorTable,sizeof(RGBQUAD),256,fp);pBmpBuf= new un sig ned charli neByte*bmpHeight; fread(pBmpBuf,1,li neByte*bmpHeight,fp);/開空間B=NULL;B=(BYTE*)malloc(sizeof(BYTE*)*bmpHeight);for(i=0; ivbmpHeight; i+)Bi = (

10、BYTE*)malloc(sizeof(BYTE)*bmpWidth);if(B=NULL)prin tf("fail to malloc Bn");exit(O);G=NULL;G=(BYTE*)malloc(sizeof(BYTE*)*bmpHeight);for(i=0; ivbmpHeight; i+)Gi = (BYTE*)malloc(sizeof(BYTE)*bmpWidth); if(G=NULL)prin tf("fail to malloc Gn"); exit(0);R=NULL;R=(BYTE*)malloc(sizeof(BYT

11、E*)*bmpHeight);for(i=0; ivbmpHeight; i+)Ri = (BYTE*)malloc(sizeof(BYTE)*bmpWidth); if(R=NULL)prin tf("fail to malloc Rn");exit(0);/讀圖像的RGBif (biBitCou nt=8) for(i=0;i<bmpHeight/50;i+)for(j=0;j<bmpWidth/50;j+)Bij=*(pBmpBuf+i*l in eByte+j);Gij=*(pBmpBuf+i*l in eByte+j);Rij=*(pBmpBuf+i*

12、l in eByte+j);prin tf("(B=%d,G=%d,R=%d)n",Bij,Gij,Rij); else if (biBitCou nt=24)for(i=0;i<bmpHeight/100;i+)for(j=0;j<bmpWidth/100;j+)Bij=*(pBmpBuf+i*l in eByte+j*3+0);Gij=*(pBmpBuf+i*l in eByte+j*3+1);Rij=*(pBmpBuf+i*l in eByte+j*3+2);prin tf("(B=%d,G=%d,R=%d)n",Bij,Gij,Rij

13、);fclose(fp);/釋放空間for(i=0; ivbmpHeight; +i)free(Bi);free(B);B=NULL;for(i=0; ivbmpHeight; +i)free(Gi);free(G);G=NULL;for(i=0; ivbmpHeight; +i)free(Ri);free(R);R=NULL;return 1;bool writeBmp(char *bmpName, i nt lmageWidth,i nt ImageHeight)un sig ned char *imgBuf=pBmpBuf2;if(!imgBuf)return 0;int colorTa

14、blesize=0;if(biBitCou nt=8)colorTablesize=1024;in t li neByte=(lmageWidth*biBitCou nt/8+3)/4*4;FILE *fp=fope n(bmpName,"wb");if (fp=0) retur n 0;BITMAPFILEHEADER fileHead;fileHead.bfType=0x4D42;fileHead.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+colorTab lesize+li neByte*Imag

15、eHeight;fileHead.bfReserved 仁0;fileHead.bfReserved2=0;fileHead.bfOffBits=54+colorTablesize;fwrite(&fileHead,sizeof(BITMAPFILEHEADER),1,fp);BITMAPINFOHEADER head;head.biBitCou nt=biBitCou nt;head.biCIrlmporta nt=O;head.biClrUsed=O;head.biCompressi on=0;head.biHeight=lmageHeight;head.biPIa nes=1;h

16、ead.biSize=40;head.biSizelmage=li neByte*lmageHeight; head.biWidth=lmageWidth;head.biXPelsPerMeter=0;head.biYPelsPerMeter=0;fwrite(&&head,sizeof(BITMAPINFOHEADER),1,fp);if (biBitCou nt=8)fwrite(pColorTable,sizeof(RGBQUAD),256,fp);fwrite(imgBuf,ImageHeight*li neByte,1,fp);fclose(fp);return 1;

17、void Med()int i,j,a,b;BYTE p9,s;int lineByte=(bmpWidth +3)/4*4;/計算一行中儲存信息的字節(jié)數(shù)pBmpBuf2=new un sig ned charli neByte*bmpHeight;memcpy(pBmpBuf2,pBmpBuf,lineByte*bmpHeight);/ 將原圖復(fù)制/ 觀察窗取3*3的矩形窗for(i=1;i<bmpHeight-2;i+) / 邊緣不進行處理for(j=3;j<bmpWidth*3-3;j=j+3)/ 每一個像素點由 RGBE個字節(jié)組成,故一個單元為三字節(jié),相對應(yīng)改變就需要將列數(shù)

18、值j設(shè)為每三字節(jié)取一次/取原圖像中該點周圍的一個矩形部分p0=*(pBmpBuf+(i-1)*l in eByte+j-3);p1=*(pBmpBuf+(i-1)*li neByte+j);p2=*(pBmpBuf+(i-1)*li neByte+j+3);p3=*(pBmpBuf+i*l in eByte+j-3);p4=*(pBmpBuf+i*l in eByte+j);p5=*(pBmpBuf+i*li neByte+j+3);p6=*(pBmpBuf+(i+1)*li neByte+j-3);p7=*(pBmpBuf+(i+1)*li neByte+j);p8=*(pBmpBuf+(i

19、+1)*li neByte+j+3);/排序for(a=0;a<5;a+)for(b=a+1;b<9;b+)if (pa>pb)s=pa;Pa=pb;pb=s; *(pBmpBuf2+i*lineByte+j)=p4;/ 取中值void main()char readPath="輸入圖像.bmp"readBmp(readPath,bmpWidth,bmpHeight);prin tf("width=%d,height=%d,biBitCou nt=%dn",bmpWidth,bmpHeight,biBitCou nt)JMed();ch

20、ar writePath="輸出圖像.bmp"writeBmp(writePath,bmpWidth,bmpHeight);delete pBmpBuf;delete pBmpBuf2;if(biBitCou nt=8)delete pColorTable;(2)擴展訓(xùn)練部分#i nclude <win dows.h>#include <stdio.h>unsigned char*pBmpBuf=NULL;讀入圖像數(shù)據(jù)的指針unsigned char*pBmpBuf2=NULL; 讀入圖像數(shù)據(jù)的指針 2unsigned char*pBmpBuf3=N

21、ULL; 讀入圖像數(shù)據(jù)的指針 3int bmpWidth;int bmpHeight;RGBQUAD *pColorTable; 顏色表指針int biBitCou nt; / 圖像類型,每像素的位數(shù)bool readBmp(char *bmpName,i nt ImageWidth,i nt ImageHeight) int i,j;BYTE *B;BYTE *R;BYTE *G;FILE *fp=fope n(bmpName,"rb");if(fp=O) retur n 0;fseek(fp,sizeof(BITMAPFILEHEADER),0); BITMAPINFO

22、HEADER head;fread(&head,sizeof(BITMAPINFOHEADER),1,fp); lmageWidth=head.biWidth;lmageHeight=head.biHeight; bmpWidth=lmageWidth;bmpHeight=lmageHeight;biBitCou nt=head.biBitCou nt;in t li neByte=(bmpWidth*biBitCou nt/8+3)/4*4;if (biBitCou nt=8)pColorTable=new RGBQUAD256; fread(pColorTable,sizeof(R

23、GBQUAD),256,fp);pBmpBuf= new un sig ned charli neByte*bmpHeight; fread(pBmpBuf,1,li neByte*bmpHeight,fp);/開空間B=NULL;B=(BYTE*)malloc(sizeof(BYTE*)*bmpHeight);for(i=0; ivbmpHeight; i+)Bi = (BYTE*)malloc(sizeof(BYTE)*bmpWidth); if(B=NULL)prin tf("fail to malloc Bn"); exit(0);G=NULL;G=(BYTE*)m

24、alloc(sizeof(BYTE*)*bmpHeight);for(i=0; ivbmpHeight; i+)Gi = (BYTE*)malloc(sizeof(BYTE)*bmpWidth); if(G=NULL)prin tf("fail to malloc Gn"); exit(0);R=NULL;R=(BYTE*)malloc(sizeof(BYTE*)*bmpHeight);for(i=0; ivbmpHeight; i+)Ri = (BYTE*)malloc(sizeof(BYTE)*bmpWidth);if(R=NULL)prin tf("fail

25、 to malloc Rn");exit(0);/讀圖像的RGBif (biBitCou nt=8)for(i=0;i<bmpHeight/50;i+)for(j=0;j<bmpWidth/50;j+)/prin tf("(B=%d,G=%d,R=%d)n",*(pBmpBuf+i*l in eByte+j),*(pBmpBuf+i*li neByte+j),*(pBmpBuf+i*li neByte+j);Bij=*(pBmpBuf+i*l in eByte+j);Gij=*(pBmpBuf+i*l in eByte+j);Rij=*(pBmpBuf

26、+i*l in eByte+j);prin tf("(B=%d,G=%d,R=%d)n",Bij,Gij,Rij);else if (biBitCou nt=24)for(i=0;i<bmpHeight/100;i+)for(j=0;j<bmpWidth/100;j+)/prin tf("(B=%d,G=%d,R=%d)n",*(pBmpBuf+i*l in eByte+j*3+0),*(pBmpBuf+i*l ine Byte+j*3+1),*(pBmpBuf+i*l in eByte+j*3+2);Bij=*(pBmpBuf+i*l in

27、 eByte+j*3+0);Gij=*(pBmpBuf+i*l in eByte+j*3+1);Rij=*(pBmpBuf+i*l in eByte+j*3+2);prin tf("(B=%d,G=%d,R=%d)n",Bij,Gij,Rij);fclose(fp);/釋放空間for(i=0; ivbmpHeight; +i)free(Bi);free(B);B=NULL;for(i=0; ivbmpHeight; +i)free(Gi);free(G);G=NULL;for(i=0; ivbmpHeight; +i)free(Ri);free(R);R=NULL;retu

28、rn 1;bool writeBmp(char *bmpName, i nt lmageWidth,i nt ImageHeight)un sig ned char *imgBuf=pBmpBuf2;if(!imgBuf)return 0;int colorTablesize=0;if(biBitCou nt=8) colorTablesize=1024;in t li neByte=(lmageWidth*biBitCou nt/8+3)/4*4;FILE *fp=fope n(bmpName,"wb");if (fp=0) retur n 0;BITMAPFILEHEA

29、DER fileHead;fileHead.bfType=0x4D42;fileHead.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+colorTab lesize+li neByte*ImageHeight;fileHead.bfReserved 仁0;fileHead.bfReserved2=0;fileHead.bfOffBits=54+colorTablesize;fwrite(&fileHead,sizeof(BITMAPFILEHEADER),1,fp);BITMAPINFOHEADER head;hea

30、d.biBitCou nt=biBitCou nt;head.biCIrlmporta nt=O;head.biClrUsed=O;head.biCompressi on=0;head.biHeight=ImageHeight;head.biPla nes=1;head.biSize=40;head.biSizelmage=li neByte*lmageHeight;head.biWidth=lmageWidth;head.biXPelsPerMeter=O;head.biYPelsPerMeter=O;fwrite(&&head,sizeof(BITMAPINFOHEADER

31、),1,fp);if (biBitCou nt=8)fwrite(pColorTable,sizeof(RGBQUAD),256,fp);fwrite(imgBuf,ImageHeight*li neByte,1,fp);fclose(fp);return 1;bool writeBmp2(char *bmpName, i nt ImageWidth,i nt ImageHeight)un sig ned char *imgBuf=pBmpBuf3;if(!imgBuf)return 0;int colorTablesize=0;if(biBitCou nt=8)colorTablesize=

32、1024;in t li neByte=(lmageWidth*biBitCou nt/8+3)/4*4;FILE *fp=fope n(bmpName,"wb");if (fp=0) retur n 0;BITMAPFILEHEADER fileHead;fileHead.bfType=0x4D42;fileHead.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+colorTab lesize+li neByte*ImageHeight;fileHead.bfReserved 仁0;fileHead.bf

33、Reserved2=0;fileHead.bfOffBits=54+colorTablesize;fwrite(& fileHead,sizeof(BITMAPFILEHEADER),1,fp);BITMAPINFOHEADER head;head.biBitCou nt=biBitCou nt;head.biCIrlmporta nt=0;head.biClrUsed=0;head.biCompressi on=0;head.biHeight=ImageHeight;head.biPla nes=1;head.biSize=40;head.biSizelmage=li neByte*

34、lmageHeight;head.biWidth=ImageWidth;head.biXPelsPerMeter=0;head.biYPelsPerMeter=0;fwrite(& head,sizeof(BITMAPINFOHEADER),1,fp);if (biBitCou nt=8)fwrite(pColorTable,sizeof(RGBQUAD),256,fp);fwrite(imgBuf,lmageHeight*li neByte,1,fp); fclose(fp);return 1;void Med()int i,j,x,y;BYTE p5,s;in t li neByt

35、e=(bmpWidth+3)/4*4;pBmpBuf2= new un sig ned charli neByte*bmpHeight; memcpy(pBmpBuf2,pBmpBuf,li neByte*bmpHeight); for(i=1;i<bmpHeight-2;i+) for(j=3;j<bmpWidth*3-3;j=j+3)p0=*(pBmpBuf+(i-1)*li neByte+j); p1=*(pBmpBuf+i*l in eByte+j-3); p2=*(pBmpBuf+i*l in eByte+j); p3=*(pBmpBuf+i*li neByte+j+3)

36、; p4=*(pBmpBuf+(i+1)*li neByte+j);for(x=0;x<3;x+)for(y=x+1;y<5;y+)if (py>px)s=py; py=px; px=s;*(pBmpBuf2+i*l in eByte+j)=p2;/左下角為黑色/* int i,j;in t li neByte=(bmpWidth*biBitCou nt/8+3)/4*4; for(i=0;i<bmpHeight/2;i+)for(j=0;j<bmpWidth/2;j+) *(pBmpBuf+i*l in eByte+j)=0;*/ int x,y;中值濾波/ B

37、YTE p9,s;/BYTE *lpTemp=new BYTEbmpWidth*bmpHeight;/ int i,j;/* for(y=1;y<bmpHeight-1;y+)for(x=3;x<bmpWidth*3-3;x+)p0=lpBitsx-3+(y-1)*bmpWidth; p1=lpBitsx+(y-1)*bmpWidth; p2=lpBitsx+3+(y-1)*bmpWidth; p3=lpBitsx-3+y*bmpWidth; p4=lpBitsx+y*bmpWidth;p5=lpBitsx+3+y*bmpWidth; p6=lpBitsx-3+(y+1)*bmpW

38、idth; p7=lpBitsx+(y+1)*bmpWidth; p8=lpBitsx+3+(y+1)*bmpWidth; for(j=0;j<5;j+)for(i=j+1;i<9;i+)if (pj>pi)s=pj;pj=pi;pi=s; lpTempx+y*bmpWidth=p4;lpBits=lpTemp;*/void Med2()i nt i,j,x,y;BYTE p9,s;in t li neByte=(bmpWidth+3)/4*4;pBmpBuf3= new un sig ned charli neByte*bmpHeight;memcpy(pBmpBuf3,p

39、BmpBuf,li neByte*bmpHeight);for(i=2;i<bmpHeight-2;i+)for(j=6;j<bmpWidth*3-6;j=j+3)p0=*(pBmpBuf+(i-2)*li neByte+j);p1=*(pBmpBuf+(i-1)*li neByte+j); p2=*(pBmpBuf+i*li neByte+j-6); p3=*(pBmpBuf+i*li neByte+j-3);p4=*(pBmpBuf+i*l in eByte+j);p5=*(pBmpBuf+i*li neByte+j+3);p6=*(pBmpBuf+i*li neByte+j+

40、6);p7=*(pBmpBuf+(i+1)*li neByte+j);p8=*(pBmpBuf+(i+2)*li neByte+j);for(x=0;x<5;x+)for(y=x+1;y<9;y+)if (py>px)s=py;py=px;px=s;*(pBmpBuf3+i*l in eByte+j)=p4;void main()char readPath=" 輸入圖像.bmp" readBmp(readPath,bmpWidth,bmpHeight);prin tf("width=%d,height=%d,biBitCou nt=%dn&quo

41、t;,bmpWidth,bmpHeight,biBitCou nt)JMed();Med2();char writePath=" 輸出圖像 1.bmp" writeBmp(writePath,bmpWidth,bmpHeight);char writePath2="輸出圖像 2.bmp" writeBmp2(writePath2,bmpWidth,bmpHeight); delete pBmpBuf;delete pBmpBuf2;delete pBmpBuf3;if(biBitCou nt=8)delete pColorTable;六、實驗效果及分析1

42、、基礎(chǔ)訓(xùn)練部分輸入圖像輸出圖像原圖像5次中值濾波后輸出圖像根據(jù)實驗結(jié)果可以看出,中值濾波法能將圖片中的椒鹽噪聲很好地濾除掉,但與原圖 相比,清晰度也有了很大的損失。這也驗證了中值濾波的特性:中值濾波方法以犧牲圖像清晰度為代價消除圖像中的椒鹽噪聲。中值濾波不能保證把噪聲去除,只能在有限的范圍內(nèi)減弱噪聲對圖像的影響。同時,中值濾波不能多次使用,因為這樣會使圖像各個像素間趨于相同,整個圖像就會變得越來越模糊。2、擴展訓(xùn)練部分(1)通過查閱資料,我們了解到中值濾波器的效果不僅和觀察窗的大小有關(guān),還和 觀察窗的形狀有關(guān)。觀察窗大小和形狀對中值濾波效果的影響輸入圖像5格十字窗可以看出:使用 5格十字窗口雖然對噪聲 有一定的濾除作用,但效果有些不盡人意。9格十字窗當使用9格十字窗口時效果變好,但仍有一些噪聲點3*3矩形窗通過對比我們發(fā)現(xiàn):兩個同樣用9格窗口的濾波器的效果相近,當使用十字窗口時圖 像的邊緣部分有一部分仍然清晰,但有一部分卻變得毛躁,整個圖像也在顏色變化時呈現(xiàn) 出條紋狀。取

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論