matlab滤波实验,Refined Lee滤波实验MATLAB程序.docx

Refined Lee滤波实验MATLAB程序

clc;closeall;clear all;%*****************弹出文件选择框**********************************A=uigetfile({'*.bin';'*.jpg';'*.tif';'*.jpeg';'*.bmp'},... '请选择待处理的图片文件');%可以自行设定各种格式 if (A==0)warndlg('请至少选择一个图片文件');%提示选择一张图片 return; end%2816×1540,复图像数据,每个像素为a+jb,包含了两个数据,故实际为1540×2列,即2816×3080,%变为模图像abs(),格式为float32fid=fopen(A,'r');%打开文件B=fread(fid,[3080,2816],'float32');%注意:fread读列作为行fclose(fid);B=B';C=complex(B(:,1:2:end),B(:,2:2:end));%合成像素C=abs(C');%获取模值C1=C/max(max(C));C2=imadjust(C1,stretchlim(C1),[],1);%参数1表示线性拉伸,大于1表示非线性指数拉伸imshow(C2);title('线性拉伸效果图');d=7;%设置滑动窗口大小7×7d1=(d-1)/2;%确定舍去的边框大小% e1=340:800;% e2=2200:2660;e1=350:1266;e2=2117:2711;D=C(e1,e2);%截取原图的一部分进行处理D1=D/max(max(D));D2=imadjust(D1,stretchlim(D1),[],1);figure;subplot(1,2,1);imshow(D2);title('Refined Lee滤波前');var_v=1;%设置视数m1=[-1 0 1;-1 0 1;-1 0 1];%垂直梯度模板m2=[0 1 1;-1 0 1;-1 -1 0];%135°梯度模板m3=[1 1 1;0 0 0;-1 -1 -1];%水平梯度模板m4=[1 1 0;1 0 -1;0 -1 -1];%45°梯度模板for i=d1+1:length(e1)-d1%行扫描 for j=d1+1:length(e2)-d1%列扫描subD=D(i-d1:i+d1,j-d1:j+d1);%取滑动窗口 %计算均值矩阵 mean_subD=[sum(sum(subD(1:3,1:3)))/9,sum(sum(subD(1:3,3:5)))/9,sum(sum(subD(1:3,5:7)))/9;... sum(sum(subD(3:5,1:3)))/9,sum(sum(subD(3:5,3:5)))/9,sum(sum(subD(3:5,5:7)))/9;... sum(sum(subD(5:7,1:3)))/9,sum(sum(subD(5:7,3:5)))/9,sum(sum(subD(5:7,5:7)))/9]; jugde_subD=[abs(sum(sum(m1.*mean_subD))),abs(sum(sum(m2.*mean_subD))),... abs(sum(sum(m3.*mean_subD))),abs(sum(sum(m4.*mean_subD)))];%均值矩阵与模板点乘取absmax_judge=find(jugde_subD==max(jugde_subD));%找出权值最大的模板 switch max_judge %对于不同的模板的处理,计算出均值方差 case 1,%第一个模板,即垂直梯度模板 if(abs(mean_subD(2,3)-mean_subD(2,2))>abs(mean_subD(2,1)-mean_subD(2,2)))%取滑动窗口左边像素进行计算upD=subD(1:d,1:4);mean_y=sum(upD(:))/(d*4);%计算滑动窗口y均值var_y=var(upD(:),1);%计算滑动窗口方差var(y) elsedownD=subD(1:d,4:7);mean_y=sum(downD(:))/(d*4);%计算滑动窗口y均值var_y=var(downD(:),1);%计算滑动窗口方差var(y) end case 2,%第

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值