“在代码的海洋里,有无尽的知识等待你去发现。我就是那艘领航的船,带你乘风破浪,驶向代码的彼岸。
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
使用多重融合技术进行单图像去雾是一种处理图像的技术,旨在改善雾天拍摄的照片的质量。这种方法结合了多种去雾算法和技术,通过分析和融合不同的处理结果来获得更加自然和清晰的无雾图像。在雾天或其他低能见度条件下拍摄的照片往往受到大气散射的影响,导致图像模糊不清、色彩失真。单图像去雾的目标是在没有额外信息的情况下,仅通过修改原始图像来恢复清晰的无雾图像。使用多重融合技术进行单图像去雾能够综合多种算法的优点,通过融合不同算法的输出来克服单一算法的局限性,从而获得更好的去雾效果。这种技术在实际应用中具有较高的灵活性和鲁棒性,适用于各种雾天环境下的图像处理。
📚2 运行结果




主函数部分代码:
clc
close all
clear all
im = im2double(imread('../data/hazed6.jpg'));
imshow(im);
title('Original Hazy Image');
% Inputs that are derrived from the Hazy image
firstInput = whiteBalance( im );
figure;subplot(1,2,1);imshow(firstInput);title('First Input');
secondInput = enhanceContrast( im );
subplot(1,2,2);imshow(secondInput);title('Second Input');
%Weight maps of the First Input
luminanceWeightmap1 = luminanceWeightmap(firstInput);
figure;subplot(1,3,1);imshow(luminanceWeightmap1);title('luminanceWeightmap of First input');
chromaticWeightmap1 = chromaticWeightmap(firstInput);
subplot(1,3,2);imshow(chromaticWeightmap1);title('chromaticWeightmap of First input');
saliencyWeightmap1 = saliencyWeightmap(firstInput);
subplot(1,3,3);imshow(saliencyWeightmap1);title('saliencyWeightmap of First input');
%Resultant Weight map of the first input
resultedWeightmap1 = luminanceWeightmap1 .* chromaticWeightmap1 .* saliencyWeightmap1 ;
%Weightmaps of the Second Input
luminanceWeightmap2 = luminanceWeightmap(secondInput);
figure;subplot(1,3,1);imshow(luminanceWeightmap2);title('luminanceWeightmap of Second input');
chromaticWeightmap2 = chromaticWeightmap(secondInput);
subplot(1,3,2);imshow(chromaticWeightmap2);title('chromaticWeightmap of Second input');
saliencyWeightmap2 = saliencyWeightmap(secondInput);
subplot(1,3,3);imshow(saliencyWeightmap2);title('saliencyWeightmap of Second input');
%Resultant Weight map of the second input
resultedWeightmap2 = luminanceWeightmap2 .* chromaticWeightmap2 .* saliencyWeightmap2 ;
%Normalized Weight maps of the Inputs
normaizedWeightmap1 = resultedWeightmap1 ./ (resultedWeightmap1 + resultedWeightmap2);
normaizedWeightmap2 = resultedWeightmap2 ./ (resultedWeightmap1 + resultedWeightmap2);
%Generating Gaussian Pyramid for normalized weight maps
gaussianPyramid1 = genPyr(normaizedWeightmap1,'gauss',5);
gaussianPyramid2 = genPyr(normaizedWeightmap2,'gauss',5);
for i = 1 : 5
tempImg = [];
for j = 1 : size(im,3)
laplacianPyramid1 = genPyr(firstInput(:,:,j),'laplace',5); %Generating Laplacian Pyramid for derrived inputs
laplacianPyramid2 = genPyr(secondInput(:,:,j),'laplace',5);
rowSize = min([size(laplacianPyramid1{i},1),size(laplacianPyramid2{i},1),size(gaussianPyramid1{i},1),size(gaussianPyramid2{i},1)]);
columnSize = min([size(laplacianPyramid1{i},2),size(laplacianPyramid2{i},2),size(gaussianPyramid1{i},2),size(gaussianPyramid2{i},2)]);
tempImg(:,:,j) = laplacianPyramid1{i}(1:rowSize , 1:columnSize) .* gaussianPyramid1{i}(1:rowSize, 1:columnSize) + laplacianPyramid2{i}(1:rowSize, 1:columnSize) .* gaussianPyramid2{i}(1:rowSize, 1:columnSize);
end
fusedPyramid1{i} = tempImg;
end
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]尚福洲,庄新港,刘长明,等.基于深度学习与仿人眼视觉成像的图像融合技术研究[J].科技创新与应用,2024,14(21):32-35.DOI:10.19981/j.CN23-1581/G3.2024.21.008.
[2]陈亮,梁暄浩.基于校园监控的多帧图像超分辨率重建技术[J].沈阳理工大学学报,2024,43(04):7-12.
🌈4 Matlab代码实现

6631

被折叠的 条评论
为什么被折叠?



