椒鹽噪聲和中值濾波_第1頁
椒鹽噪聲和中值濾波_第2頁
椒鹽噪聲和中值濾波_第3頁
椒鹽噪聲和中值濾波_第4頁
椒鹽噪聲和中值濾波_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Salt-and-peppernoise產(chǎn)生椒鹽噪聲在圖像中隨機選取6000個點,3000設為白色,3000個設為黑色,產(chǎn)生椒鹽噪聲%#include#include#includevoidsalt(cv:Mat&image,intn)for(intk=0;kn;k+)inti=rand()%image.cols;intj=rand()%image.rows;if(image.channels()=1)image.at(j,i)=255;elseif(image.channels()=3)image.at(j,i)0=255;image.at(j,i)1=255;image.at(j,i)2=

2、255;/產(chǎn)生3000個白點for(intk=0;kn;k+)inti=rand()%image.cols;intj=rand()%image.rows;if(image.channels()=1)image.at(j,i)=0;elseif(image.channels()=3)image.at(j,i)0=0;image.at(j,i)1=0;image.at(j,i)2=0;/產(chǎn)生3000個黑點intmain()cv:Matimage;image=cv:imread(lena.jpg);salt(image,3000);cv:namedWindow(WK);cv:imshow(WK,im

3、age);cv:waitKey(0);return1;%2.中值濾波利用opencv中的cvSmooth對圖像進行中值濾波。%#include#include#includeintmain()IplImage*image=cvLoadImage(wks.jpg);/cvNamedWindow(before);/cvShowImage(before,image);IplImage*im_gray=cvCreateImage(cvSize(image-width,image-height),IPL_DEPTH_8U,1);cvCvtColor(image,im_gray,CV_BGR2GRAY);

4、cvNamedWindow(Gray);cvShowImage(Gray,im_gray);cvSaveImage(im_gray.jpg,im_gray);IplImage*im_median_filter=cvCreateImage(cvSize(image-width,image-height),IPL_DEPTH_8U,1);cvSmooth(im_gray,im_median_filter,CV_MEDIAN);/默認窗大小為*3cvNamedWindow(after);cvShowImage(after,im_median_filter);/cvSaveImage(im_media

5、n.jpg,im_median_filter);cv:waitKey(0);return1;%處理前的灰度圖像:處理后的灰度圖像:1tip處理前的灰度圖像:處理后的灰度圖像:1tip原始灰度圖像:3.結(jié)論:可以看出中值濾波能夠較好的恢復有椒鹽噪聲的圖像4.Matlab中值濾波:clear;clc;image=imread(gray.jpg);result=media_filter(image,7);imshow(result);imwrite(result,media_filter.jpg);%functionfunctiond=media_filter(image,m)n=m;height,

6、width=size(image);x1=double(image);x2=x1;fori=1:height-n+1forj=1:width-n+1A=x1(i:(i+n-1),j:(j+n-1);B=sort(A);C=sort(B);x2(i+(n-1)/2,j+(n-1)/2)=C(n+1)/2,(n+1)/2);endendd=uint8(x2);5.MATLAB中值濾波結(jié)果及結(jié)論:中值濾波是圖像處理中的一個常用步驟,它對于斑點噪聲和椒鹽噪聲來說尤其有用。中值濾波方法以犧牲圖像清晰度為代價消除圖像中的椒鹽噪聲。同時,中值濾波不能多次使用因為這樣會使圖像各個像素間趨于相同,整個圖像就會變

7、得越來越模糊。7x711x11次11X11GaussNoise1.利用MATLAB向原始灰度圖像中添加高斯噪聲%clear;clc;image=imread(origin.jpg);noise=imnoise(image,gaussian);%添加均值為0,方差為0.01的高斯白噪聲imshow(noise);title(gaussiannoise)%利用均值濾波clear;clc;image=imread(gaussnoise.jpg);result=avg_filter(image,11);imshow(result);imwrite(result,use11x11.jpg)functiond=avg_filter(x,n)%x為待處理的圖像,n為模板大小a(1:n,1:n)=1;height,width=size(x);x1=double(x);x2=x1;fori=1:height-n+1forj=1:width-n+1c=x1(i:(i+n-1),j:(j+n-1).*a;取出x1中從(i,j)開始的n行n列元素與模板相乘s=sum(sum(c);x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n);將與模板運算后的各元素的均值賦給模板中心位置的元素endend%未被賦值的元素取原值d=uint8(x2);的團像

溫馨提示

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

評論

0/150

提交評論