|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
3 U6 N1 e |9 O' [' ` [9 k一、简介
# o$ s; I# R3 B9 t去散射和边缘增强是解决水下图像的对比度严重衰减、颜色偏差和边缘模糊等问题的关键步骤。这篇论文提出了一种较好的水下图像增强的方法。首先使用经过端到端训练的卷积神经网络去测量输入图片,同时以自适应双边滤波器对传输图片进行处理。接着提出一种基于白平衡的策略来消除图片的颜色偏差,用拉普拉斯金字塔融合获得无雾和色彩校正图像的融合结果。 最后,输出图像被转换为混合小波和方向滤波器组(HWD)域,用于去噪和边缘增强。 实验结果表明,该方法可以消除颜色失真,提高水下图像的清晰度。. M0 O5 ^1 Q- _ M$ b
- \* g8 M: u7 ]( b; ]二、源代码
" l5 x1 S' v) s. S. H7 F. K4 y- clc;
- clear;
- addpath('codes\')
- addpath('Images\')
- FileName = uigetfile({'*.jpg;*.bmp;*.png'},'Optional images','Images');
- input = imread(FileName);
- output = underwater(input);
- underwaterimage2(input);
- %i=40; %Saved images number
- %saveas(1,['./myresults/',num2str(i),'.jpg']);
- function sum_img = window_sum_filter(image, r)
- % sum_img(x, y) = = sum(sum(image(x-r:x+r, y-r:y+r)));
- [h, w] = size(image);
- sum_img = zeros(size(image));
- % Y axis
- im_cum = cumsum(image, 1);
- sum_img(1:r+1, :) = im_cum(1+r:2*r+1, :);
- sum_img(r+2:h-r, :) = im_cum(2*r+2:h, :) - im_cum(1:h-2*r-1, :);
- sum_img(h-r+1:h, :) = repmat(im_cum(h, :), [r, 1]) - im_cum(h-2*r:h-r-1, :);
- % X axis
- im_cum = cumsum(sum_img, 2);
- sum_img(:, 1:r+1) = im_cum(:, 1+r:2*r+1);
- sum_img(:, r+2:w-r) = im_cum(:, 2*r+2:w) - im_cum(:, 1:w-2*r-1);
- sum_img(:, w-r+1:w) = repmat(im_cum(:, w), [1, r]) - im_cum(:, w-2*r:w-r-1);
- end1 A; N% i7 H* ?: r5 a0 x3 O+ G. \
! l# K! I" c' P6 P3 R8 f: |' ~' G/ j) {/ Z4 G- N3 F5 c* ~; S% T
/ R1 `2 ?& p" o
三、运行结果% `# ~7 f, ~2 M! _- C' a3 F
- s8 A0 s1 K4 p: A/ p9 r$ P# S$ R
9 ^' z" T; c) @0 {" f; c, Q% L+ {3 ^6 P A% r* c7 N+ u
|
|