% IEEE Image Processing, vol.9, No.6, 2000.
%--------- 滤波器对图像作增强提高视觉质量-------
clear all;
% C=double(imread('t1.bmp'));%cameraman.tifSAR01.bmpBARB.BMP;5-51fft6649-060-1.tifmed01.jpg
C=double(imread('lena.bmp'));
h=[1,1,1;1,1,1;1,1,1]./9;
B=C(:,:,1);
%B=imfilter(B,h,'replicate');
S=size(B);H=S(1,1);W=S(1,2);
%%%%%%%%%%%%%%%%% CDF9/7
t=0.75;%0.730174;
h0 = (8*t*t*t-6*t*t+3*t)/(1+2*t)*(1/32);
h1 = (-16*t*t*t+20*t*t-12*t+3)/(1+2*t)*(1/32);
h2 = (2*t-3)/(1+2*t)*(1/8.);
h3 = (16*t*t*t-20*t*t+28*t+5)/(1+2*t)*(1/32.);
h4 = (-8*t*t*t+6*t*t+5*t+20)/(1+2*t)*(1/16.);
hL=[h0,h1,h2,h3,h4,h3,h2,h1,h0];
g0=-t/16;
g1=(1-2*t)/16;
g2=(t+4)/16;
g3=(3+2*t)/8;
hH=[-g0,g1,-g2,g3,-g2,g1,-g0];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 对淹没在噪声中的SAR图像首先用Wiener滤波法自适应去噪
%Idenoise= medfilt2(B(:,:,1),[3 3]);%中值滤波
%Idenoise = wiener2(B(:,:,1),[5 5]);%自适应滤波
%Idenoise=double(Idenoise);
Idenoise=B;%imresize(B,[512,510]);
% 用多分辨分解法提取高频边缘BI
hL=[1/16,1/4,3/8,1/4,1/16];
for i=1:length(hL)
for j=1:length(hL)
hL2D(i,j)=hL(i)*hL(j);
end
end
L0=imfilter(Idenoise,hL2D,'replicate');%低频近似图像L0
L0=double(L0);
L0max=max(max(L0));
c=0.3;s=2;
T1 = 0;
T2 = (1-c)*L0max;
k1=0.6; k2=s;
BI = Idenoise-L0;% 第一层高频边缘BI
% 对BI作非线性插值后得到newBI
newBI=BI;
for i=1:H
for j=1:W
if abs(BI(i,j))<=T1
newBI(i,j)=k1*BI(i,j);
else if (abs(BI(i,j))>T1)&(abs(BI(i,j))<=T2)
newBI(i,j)=sign(BI(i,j))*(k2*abs(BI(i,j))+T1*(k1-k2));
end
end
end
end
%newBI=s*newBI;
% 对newBI作高通滤波得到增强后的高频边缘BI
hH=[-1/16,1/4,-3/8,1/4,-1/16];%[-1,2,-1]/2;
for i=1:length(hH)
for j=1:length(hH)
hH2D(i,j)=hH(i)*hH(j);
end
end
BI=imfilter(newBI,hH2D,'replicate');%修正后的边缘
%BI=newBI-double(imfilter(newBI,hL2D,'replicate'));
BI=double(BI);
Irecover=newBI+L0;
for i=1:H
for j=1:W
if Irecover(i,j)<0
Irecover(i,j)=0;
else if Irecover(i,j)>255
Irecover(i,j)=255;
end
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
EP1D=[-0.15,0.25,0.7,0.25,-0.15];
%EP1D=[-0.05,0.15,-0.25,0.3,0.9,0.3,-0.25,0.15,-0.05]./1.2
for i=1:length(EP1D)
for j=1:length(EP1D)
EP2D(i,j)=EP1D(i)*EP1D(j);
end
end
Irepro = imfilter(Irecover,EP2D,'replicate');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%figure,imshow((100*BI)./255,[]);%imfilter(B,hH2D,'replicate')
figure,imshow(uint8(B),[]);
title('原图');
%subplot(122);
figure,imshow(uint8(Irecover),[]);
title(['高频非线性增强后的图像']);
figure,imshow(uint8(Irepro),[]);
title(['非线性增强后再补偿的图像']);
没有合适的资源?快使用搜索试试~ 我知道了~
基于MATLAB实现的小波变换图像增强程序以及非线性的处理程序+使用说明文档.rar
共4个文件
m:3个
md:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 24 浏览量
2024-05-23
09:58:54
上传
评论
收藏 8KB RAR 举报
温馨提示
CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的小波变换图像增强程序以及非线性的处理程序+使用说明文档.rar 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于MATLAB实现的小波变换图像增强程序以及非线性的处理程序+使用说明文档.rar (4个子文件)
使用说明文档.md 13KB
二进小波变换的图像增强
二进小波变换的图像增强
WaveletEnhance_IE3_Global.m 2KB
NonlinearEnhancement.m 3KB
MyDWT2.m 2KB
共 4 条
- 1
资源评论
IT狂飙
- 粉丝: 4778
- 资源: 2640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功