雾天和水下图像增强仿真

“`
忙了一周,终于出了点结果了。。现在对算法又有点感觉了。。本来就一直写程序的。但是对自己要求太低了。。一直没想着去改进。。以后多在程序上投入更多。。弄硬件那些东西,,太累人了。。

雾天图像增强:
雾天增强

水下图像增强:
水下增强

今天让别人评论了一下,感觉自己还有好多问题。。。只是自己在那里研究,,就是认识不到自己的不足。。有别人来分析,讨论一下,可以及时发现问题,然后改进算法。。

clc; clear all; I=imread('9.jpg'); Ir=I(:,:,1); %分别提取图像的R分量,G分量和B分量 Ig=I(:,:,2); Ib=I(:,:,3); %%%%%%%%%%设定所需参数%%%%%% G = 192; b = -30; alpha = 125; beta = 46; %%%%%%%%%%设定高斯参数%%%%%% sigma_1=15; %三个高斯核 sigma_2=80; sigma_3=250; [x y]=meshgrid((-(size(Ir,2)-1)/2):(size(Ir,2)/2),(-(size(Ir,1)-1)/2):(size(Ir,1)/2)); gauss_1=exp(-(x.^2+y.^2)/(2*sigma_1*sigma_1)); %计算高斯函数 Gauss_1=gauss_1/sum(gauss_1(:)); %归一化处理 gauss_2=exp(-(x.^2+y.^2)/(2*sigma_2*sigma_2)); Gauss_2=gauss_2/sum(gauss_2(:)); gauss_3=exp(-(x.^2+y.^2)/(2*sigma_3*sigma_3)); Gauss_3=gauss_3/sum(gauss_3(:)); %%%%%%%%%%对R分量操作%%%%%%% Ir_double=double(Ir); Ir_log=log(Ir_double+1); %将图像转换到对数域 f_Ir=fft2(Ir_double); %对图像进行傅立叶变换,转换到频域中 fgauss=fft2(Gauss_1,size(Ir,1),size(Ir,2)); %用0将图像填充至大小size(Ir,1)*size(Ir,2) fgauss=fftshift(fgauss); %将频域中心移到零点 Rr= ifft2(fgauss.*f_Ir); %做卷积后变换回空域中 Rr_log= log(abs(Rr) + 1); Rr1=Ir_log-Rr_log; %sigam=15的处理结果 fgauss=fft2(Gauss_2,size(Ir,1),size(Ir,2)); fgauss=fftshift(fgauss); Rr= ifft2(fgauss.*f_Ir); Rr_log= log(abs(Rr) + 1); Rr2=Ir_log-Rr_log; %sigam=80 fgauss=fft2(Gauss_3,size(Ir,1),size(Ir,2)); fgauss=fftshift(fgauss); Rr= ifft2(fgauss.*f_Ir); Rr_log= log(abs(Rr) + 1); Rr3=Ir_log-Rr_log; %sigam=200 Rr=0.33*Rr1+0.34*Rr2+0.33*Rr3; %加权求和 Rr=exp(Rr); min1=min(min(Rr)); max1=max(max(Rr)); Rr_final=(Rr-min1)*255/(max1-min1); %线性拉伸 %figure,imshow(Rr_final,[]);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值