欢迎光临散文网 会员登陆 & 注册

【图像融合】基于高斯金字塔结合拉普拉斯金字塔彩色水下图像融合含Matlab源码

2022-05-15 01:18 作者:Matlab工程师  | 我要投稿

1 简介

为了实现对图像的降噪,兼顾全局整体增强和局部细节增强,首先定义输入图像的对比度度量模型和亮度度量模型,然后构造标量权重映射,并进行归一化处理,接着综合利用高斯金字塔和拉普拉斯金字塔,制定融合规则,利用融合金字塔重构图像,实现图像增强。


2 部分代码

% 对图像进行灰度世界白平衡处理% 再进行直方图自动对比度调整function  output = simple_color_balance(image)num = 255;r = image(:, :, 1);g = image(:, :, 2);b = image(:, :, 3);Ravg = mean(mean(r));Gavg = mean(mean(g));Bavg = mean(mean(b));avgRGB = [Ravg, Gavg, Bavg];grayValue = (Ravg + Gavg + Bavg)/3;scaleValue = grayValue./avgRGB;% newI(:,:,1) = scaleValue(1) * r;% newI(:,:,2) = scaleValue(2) * g;% newI(:,:,3) = scaleValue(3) * b;% % figure,imshow(newI);satLevel =  0.001 * scaleValue;[m,n,p] = size(image);imgRGB_orig = zeros(p, m*n);for i = 1 : p   imgRGB_orig(i, : ) = reshape(double(image(:, :, i)), [1, m * n]);endimRGB = zeros(size(imgRGB_orig));%直方图对比度调整for ch = 1 : p    q = [satLevel(ch), 1 - satLevel(ch)];    tiles = quantile(imgRGB_orig(ch, :), q);    temp = imgRGB_orig(ch, :);    temp(find(temp < tiles(1))) = tiles(1);    temp(find(temp > tiles(2))) = tiles(2);    imRGB(ch, :) = temp;    pmin = min(imRGB(ch, :));    pmax = max(imRGB(ch, :)); % fac(A) = Amin + (A - Alow) * (Amax -Amin)/(Ahigh - Alow)% 对于8bit图像,Amin = 0,Amax = 255    imRGB(ch, :)  = (imRGB(ch, :) - pmin) * num /(pmax - pmin);endoutput = zeros(size(image));for i = 1 : p        output(:, :, i) = reshape(imRGB(i, :), [m, n]); endoutput = uint8(output);end

3 仿真结果

4 参考文献

[1]马永强, 王顺利, 孙伟,等. 基于高斯金字塔和拉普拉斯金字塔融合的图像对比度增强算法研究[J]. 信息与电脑, 2018(4):3.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。



【图像融合】基于高斯金字塔结合拉普拉斯金字塔彩色水下图像融合含Matlab源码的评论 (共 条)

分享到微博请遵守国家法律