代码编织梦想

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现

💥1 概述

针对水下光的吸收和散射作用,水下图像往往存在颜色失真、对比度低、细节模糊等现象,提出了一种新的水下图像增强算法。首先,以颜色校正的方式改进了一种基于暗通道先验(DCP)的水上图像增强方法,使其可以更好地用于水下图像,并将增强后的图像作为图像融合的一个输入。然后,利用非锐化掩蔽(USM)增强图像的纹理特征,并将再次增强的图像作为图像融合的另一个输入。最后,采用小波融合的方式对以上两个输入图像进行融合,进一步提升图像质量。与其他方法的比较结果表明,利用所提方法增强的图像具有更自然的外观、更高的清晰度、更多的细节和边缘信息,所提方法对水下图像有良好的增强效果。基于颜色校正方法对水下图像进行颜色均衡化预处理;对亮度分量L进行Gamma校正,获得对比度提升的亮度图像;对两个亮度分量进行三层小波分解,提出对分解所得的低频分量及高频分量分别采用线性融合和自适应融合策略进行融合。多尺度融合保证了增强图像细节的丰富性,自适应融合策略体现了融合过程的可控性。实验结果表明,增强的水下图像呈现出高对比度和清晰的细节。

📚2 运行结果

部分代码:

clc;
clear all;
close all;


im = imread('./image/8.jpg');
figure,imshow(im),xlabel('origin image');

% red channel recover
im1 = redCompensate(im,5);
figure, subplot(2,2,1)
imshow(im1);
xlabel('red channel compensate');

% blue channel recover
% In murky waters or high water levels or the presence of plankton in abundance that causes the blue channel to attenuate strongly,Supplement the blue channel
% im1 = blueCompensate(im1);
% subplot(2,3,3)
% imshow(im1);
% xlabel('blue channel compensate')

% white balance enhancement
im2 = simple_color_balance(im1);
subplot(2,2,2)
imshow(im2);
xlabel('white balance');

% gamma correction
input1 = gammaCorrection(im2,1,1.2);
subplot(2,2,3)
imshow(input1);
xlabel('gamma correction');

% sharpen
input2 = sharp(im2);
subplot(2,2,4)
imshow(input2);
xlabel('sharp');

%.................................................%
% calculate weight
%.................................................%
lab1 = rgb_to_lab(input1);
lab2 = rgb_to_lab(input2);
R1 = double(lab1(:, :, 1)/255);
R2 = double(lab2(:, :, 1)/255);

% 1. Laplacian contrast weight (Laplacian filiter on input luminance channel)
WL1 = abs(imfilter(R1, fspecial('Laplacian'), 'replicate', 'conv')); 
WL2 = abs(imfilter(R2, fspecial('Laplacian'), 'replicate', 'conv')); 

% 2. Saliency weight
WS1 = saliency_detection(input1);
WS2 = saliency_detection(input2);

% 3. Saturation weight
WSat1 = Saturation_weight(input1);
WSat2 = Saturation_weight(input2);

% normalized weight
[W1, W2] = norm_weight(WL1, WS1, WSat1, WL2 , WS2, WSat2);

%.................................................%
% image fusion
% R(x,y) = sum G{W} * L{I}
%.................................................%
level = 3;

% weight gaussian pyramid
Weight1 = gaussian_pyramid(W1, level);
Weight2 = gaussian_pyramid(W2, level);

% image laplacian pyramid
% input1
r1 = laplacian_pyramid(double(double(input1(:, :, 1))), level);
g1 = laplacian_pyramid(double(double(input1(:, :, 2))), level);
b1 = laplacian_pyramid(double(double(input1(:, :, 3))), level);
% input2
r2 = laplacian_pyramid(double(double(input2(:, :, 1))), level);
g2 = laplacian_pyramid(double(double(input2(:, :, 2))), level);
b2 = laplacian_pyramid(double(double(input2(:, :, 3))), level);

% fusion
for i = 1 : level
    R_r{i} = Weight1{i} .* r1{i} + Weight2{i} .* r2{i};
    G_g{i} = Weight1{i} .* g1{i} + Weight2{i} .* g2{i};
    B_b{i} = Weight1{i} .* b1{i} + Weight2{i} .* b2{i};
end

% pyramin reconstruct
R = pyramid_reconstruct(R_r);
G = pyramid_reconstruct(G_g);
B = pyramid_reconstruct(B_b);

fusion = cat(3, R,G,B);
uiqm = UIQM(fusion)
uciqe = UCIQE(fusion)

figure,imshow(fusion),title("fusion image");

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]刘志强,朱大奇.一种新型小波图像融合的水下目标增强算法[J].控制工程,2022,29(12):2235-2243.DOI:10.14107/j.cnki.kzgc.20210128.

[2]李秋实. 基于像素级图像融合增强的全局式水下多视图重建[D].吉林大学,2022.DOI:10.27162/d.cnki.gjlin.2022.001192.

🌈4 Matlab代码实现

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_66436111/article/details/129818542

基于matlab色彩平衡与融合用于水下图像增强-爱代码爱编程

最近出于学习的需要,阅读了关于水下图像增强的论文《Color Balance and Fusion for Underwater Image Enhancement》,并且尝试着按照论文中所介绍的步骤使用matlab来实现,由于本人对图像处理初次接触,感觉做出来的效果一般,本文对论文提及的步骤进行简略介绍,代码是按照论文步骤写的,并不十分完善,此论文主要用

【基于图像融合的水下图像增强 MATLAB】-爱代码爱编程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、水下图像增强二、主要代码2.gui界面即实验结果 前言 提示:这里可以添加本文要记录的大概内容: 通过使用 白平衡处理,图像滤波和图像融合实现水下模糊图像的融合,并给出了实验结果和部分代码 提示:以下是本篇文章正文内容,下面案例可供参考 一、

【图像增强】基于dehazenet和hwd的水下去散射图像增强附matlab代码_matlab_dingdang的博客-爱代码爱编程

1 内容介绍 去散射和边缘增强是解决水下图像的对比度严重衰减、颜色偏差和边缘模糊等问题的关键步骤。这篇论文提出了一种较好的水下图像增强的方法。首先使用经过端到端训练的卷积神经网络去测量输入图片,同时以自适应双边滤波器对传输图片进行处理。接着提出一种基于白平衡的策略来消除图片的颜色偏差,用拉普拉斯金字塔融合获得无雾和色彩校正图像的融合结果。 最后,输出图像

图像质量评价matlab实现(含代码)_matlab计算图像平均梯度-爱代码爱编程

这篇是上两篇的一个延续吧,对偏振HSI伪彩色图像融合增强效果的一个评价 代码里面包含了很多种评价方式,附带一个评价说明,链接如下: 图像质量评价指标(全),可结合blog-机器学习文档类资源-CSDN下载 下面是我大作业用到了的,share!     四、识别效果评价与分析 随着经济指纹图像信息技术的广泛应用,指纹图像质量的褒贬不一

【图像融合】基于高斯金字塔结合拉普拉斯金字塔彩色水下图像融合含matlab源码_拉普拉斯金字塔和unet一起-爱代码爱编程

 1 简介 为了实现对图像的降噪,兼顾全局整体增强和局部细节增强,首先定义输入图像的对比度度量模型和亮度度量模型,然后构造标量权重映射,并进行归一化处理,接着综合利用高斯金字塔和拉普拉斯金字塔,制定融合规则,利用融合金字塔重构图像,实现图像增强。 2 部分代码 % 对图像进行灰度世界白平衡处理% 再进行直方图自动对比度调整

使用stamps_visualizer-爱代码爱编程

0 前言 StaMPS-Visualizer :由thho开发的用于可视化由StaMPS / MTI处理的DInSAR结果。 github地址:StaMPS-Visualizer 使用StaMPS_Visualizer需