資源簡介
適用于數字圖像實驗,用輸入窗口大小,既可顯示平滑后的中值濾波,并且改中值濾波的實現不是利用matlab中自帶的函數,而是利用原理自行編寫的代碼。純原創。
代碼片段和文件信息
I=imread(‘lena.bmp‘);?%讀取lena圖像
J=imnoise(I‘salt?&?pepper‘0.02);?%在原圖中添加椒鹽噪聲
imwrite(J‘lena1.bmp‘);?%將添加椒鹽噪聲的圖像寫入文件夾
[Amap]=imread(‘lena1.bmp‘);?%讀取加入噪聲后的索引圖像
image=double(A);?%使索引圖片像素的灰度值為雙精度浮點數
prompt=(‘請輸入窗口大小對應n值?例3*3窗口,n=3‘);%設置對話框中顯示的文字
name=‘輸入窗口大小‘;%設置對話框的名字
numlines=1;%設置對話框顯示文字的行數
defaultanswer={‘3‘};%設定編輯欄的默認值
answer=inputdlg(promptnamenumlinesdefaultanswer);%將編輯欄的輸入值賦給cell型變量answer
n=eval(answer{1});%將cell型變量answer轉換為整型變量賦給n,作為窗口邊長
z=n*n;%取出窗口中像素個數賦給z
u=zeros(1z);%定義一個內容全零的1xz數組,用于放需要排列的數
m=(n-1)/2;%定義窗口半徑
for?x=m+1:255-m;
????for?y=m+1:255-m;%進入循環,
- 上一篇:OGSBL——CSDOA算法
- 下一篇:matlab實現DCT變換和量化
評論
共有 條評論