1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/ZJWalZ5v
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
将遗传算法应用于雾天图像的区域分割,从而使图像清化.该方法首先用遗传算法求出近景和远景的分割阈值将图像分割出来,然后通过移动模板对整个图像进行相应的清晰化处理,防止区域边界效应的产生,最后对获取的图像进行信息融合,进一步提高图像质量,有效改善雾天图像的退化现象,提高图像的清晰度.
4.部分源码
..........................................................
%最佳阈值
Level = floor(yuzhi(1,maxgen));
[m,n]=size(C);
for i=1:m
for j=1:n
if C(i,j) <= Level
C(i,j)=0;
else
C(i,j)=255;
end
end
end
subplot(122);
imshow(C);
title('根据遗传算法得到的阈值分割后的雾图');
figure;
plot(yuzhi,'-bs',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.0,0.0]);
xlabel('迭代次数');
ylabel('优化阈值');
%%
%%
%然后通过移动模板对整个图像进行相应的清晰化处理,防止区域边界效应的产生,
%然后通过移动模板对整个图像进行相应的清晰化处理,防止区域边界效应的产生,
%然后通过移动模板对整个图像进行相应的清晰化处理,防止区域边界效应的产生,
%分别报出分割后的两个部分的图像
Near = zeros(m,n);
Far = zeros(m,n);
for i=1:m
for j=1:n
if C(i,j) == 0%近图
Near(i,j) = B(i,j);
end
if C(i,j) == 255%远图
Far(i,j) = B(i,j);
end
end
end
Near2 = zeros(m,n);
Far2 = zeros(m,n);
FF = zeros(m,n);
FF2 = zeros(m,n);
%假设移动模块的大小为4*4
WIN = 4;
a1 = 0.4;%处理前后两个图片的所占权重
a2 = 0.7;%处理前后两个图片的所占权重
Bmax = max(max(B));
r = Level/double(Bmax);
............................................................................
figure;
subplot(121);
imshow(Near2,[]);title('近图')
subplot(122);
imshow(Far2,[]);title('远图')
figure;
subplot(121);
imshow(B);title('原雾图')
subplot(122);
imshow(uint8(FF));title('处理后的雾图')
%%
%%
%最后对数据进行融合
%最后对数据进行融合
%最后对数据进行融合
for i=1:m
for j=1:n
if C(i,j) == 0%近图
FF2(i,j) = a1*FF(i,j)+(1-a1)*B(i,j);
end
if C(i,j) == 255%远图
FF2(i,j) = a2*FF(i,j)+(1-a2)*B(i,j);
end
end
end
figure;
subplot(121);
imshow(B);title('原雾图')
subplot(122);
imshow(uint8(FF2));title('处理后的雾图')
%%
09_026_m