资源简介
本程序实现全变分(Total Variation, TV)的去噪算法,它使用了PDF纠正TV算法中的小问题。该算法可以很好地保留原图边缘信息的同时,去除噪声。
代码片段和文件信息
function u = tvdenoise(flambdaNumStepsu)
%TVDENOISE Total variation image denoising
% u = TVDENOISE(flambdaNumSteps) denoises the input image f over
% NumSteps number of iterations. The larger the parameter lambda the
% stronger the denoising. The output u approximately minimizes the
% Rudin-Osher-Fatemi (ROF) denoising model
% || f - u ||^2_L^2 + lambda*TV(u)
% where TV(u) is the total variation of u.
%
% TVDENOISE(...u0) specifies the initial image u0. By default u0 = f.
%
% Example: Run TVDENOISE without any inputs for a demo
% >> tvdenoise
% Pascal Getreuer 2007
if nargin < 4
if nargin == 0
%%% Demo %%%
% Generate image
[xy] = meshgrid(linspace(-11250)linspace(-11250));
[thr] = cart2pol(xy);
f = (sqrt(2)-r).^2.*(sin(12*r + 4*th) > 0 | r < 0.05)*255;
f = conv2(fones(5)/25‘same‘);
f = f(3:5:end3:5:end);
f = f + randn(size(f))*30; % Add noise
% Denoise the image with lambda=400 and 25 iterations
v = tvdenoise(f40025);
% Plots
subplot(121);
image(f);
title(‘Noisy Image‘);
axis image; axis off; colormap(gray(256));
subplot(122);
image(v);
title(‘Denoised Image‘);
axis image; axis off; colormap(gray(256));
shg;
return;
end
u = f;
elseif any(size(f) ~= size(u))
error(‘u0 must have the same size as f.‘);
end
EpsSqr = 1e-6;
dt = 0.25;
a = dt*lambda/2;
[N1N2] = size(u);
il = [11:N2-1];
ir = [2:N2N2];
iu = [11:N1-1];
id = [2:N1N1];
for k = 1:NumSteps
ul = u(:il);
ur = u(:ir);
uu = u(iu:);
ud = u(id:);
c = a./sqrt(EpsSqr + (ur - u).^2 + (ud - u).^2);
cl = c(:il);
cu = c(iu:);
u = (u + dt*f + c.*(ur + ud) + cl.*ul + cu.*uu) ...
./ (1 + dt + 2*c + cl + cu);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 105 2007-12-15 21:45 loadFile.do_files\50th.png
文件 96 2007-12-15 21:45 loadFile.do_files\90th.png
文件 646 2007-12-15 21:45 loadFile.do_files\blue_band_536x5.gif
文件 57 2007-12-15 21:45 loadFile.do_files\bullet.gif
文件 6880 2007-12-15 21:45 loadFile.do_files\Captcha.htm
文件 10462 2007-12-15 21:45 loadFile.do_files\cmnty1.css
文件 70 2007-12-15 21:45 loadFile.do_files\doc.gif
文件 97 2007-12-15 21:45 loadFile.do_files\dots_rnav.gif
文件 152 2007-12-15 21:45 loadFile.do_files\dots_rnav_top.gif
文件 64 2007-12-15 21:45 loadFile.do_files\exclamation.gif
文件 145 2007-12-15 21:45 loadFile.do_files\fullstar.gif
文件 117 2007-12-15 21:45 loadFile.do_files\ltblue_top_nav_trans.gif
文件 155 2007-12-15 21:45 loadFile.do_files\mail_brdr.gif
文件 2569 2007-12-15 21:45 loadFile.do_files\mlc_logo.gif
文件 11332 2007-12-15 21:45 loadFile.do_files\preview.jpg
文件 64 2007-12-15 21:45 loadFile.do_files\question.gif
文件 43 2007-12-15 21:45 loadFile.do_files\s06759144680489.gif
文件 3296 2007-12-15 21:45 loadFile.do_files\site3.css
文件 43 2007-12-15 21:45 loadFile.do_files\spacer.gif
文件 66 2007-12-15 21:45 loadFile.do_files\submitfile.gif
文件 38482 2007-12-15 21:45 loadFile.do_files\s_code.txt
文件 260 2007-12-15 21:45 loadFile.do_files\xm
目录 0 2007-12-15 21:45 loadFile.do_files
文件 2006 2007-12-15 21:39 tvdenoise.m
文件 40881 2007-12-15 21:45 loadFile.do.htm
----------- --------- ---------- ----- ----
118088 25
- 上一篇:Verilog状态机实现自动饮料售货机
- 下一篇:51旅游微信小城序源码
相关资源
- 基于小波变换的心电信号去噪算法.
- OkHttpDemo.7z
- 神经网络图像去噪
- 基于提升小波的图像去噪算法的FPGA设
- 基于积分图的快速非局部去噪算法
- vectorMapDemo挺好看的地图(各个省不同
- 图像平滑去噪
- 小波去除音频信号中的噪声,观察频
- 3.24 基于蚁群算法的图像边缘检测.r
- 基于形态学滤波器对心电信号的去噪
- 轮廓波contourlet工具箱
- 基于边缘检测的Contourlet 变换图像去噪
- Micro+CT投影图像噪声的去除
- 几种经典的图像平滑去噪算法程序
- 非局部均值滤波
- GUI图像边缘检测
- 基于形态学的权重自适应图像去噪.
- 心音信号小波去噪
- 基于CURVELET变换的自适应阈值图像去噪
- 小波软阈值的去噪处理代码
- 心电图小波去噪
- Solution to Evans pde.pdf
- 使用log算子实现的图像边缘检测
- 小波阈值图像去噪源代码
- 基于小波变换mallat算法的雷达回波去
- 谱减法及小波去噪对语音增强好包含
- 梯度锐化的方法----微分法;图像边缘
- 标准化降水指数SPI及降水百分位指数
- 一种新的改进阈值的小波包图像去噪
- 论文研究-基于小波变换和均值滤波相
评论
共有 条评论