当前位置:网站首页>【图像去噪】基于边缘增强扩散 (cEED) 和 Coherence Enhancing Diffusion (cCED) 滤波器实现图像去噪附matlab代码
【图像去噪】基于边缘增强扩散 (cEED) 和 Coherence Enhancing Diffusion (cCED) 滤波器实现图像去噪附matlab代码
2022-08-09 00:51:00 【Matlab科研工作室】
1 内容介绍
This paper discusses how to maintain more edge information in the process of image denoising. It is well known that in P M diffusion, noise at edges cannot be eliminated successfully and line like structures cannot be held well, while in coherence enhancing diffusion, false textures arise. Thus, a denoising method of jointing these two models comes out. First, a weighted model of combining P M diffusion with coherence enhancing diffusion is built, which emphasizes particularly on coherence enhancing diffusion at edges of an image while on P M diffusion at the other part. Then, how to select parameters in the model is analyzed. An adaptive parameter selection method in P M diffusion is achieved when the percent of the edge pixels in an image is given, and the experiential method to decide the parameters in coherence enhancing diffusion is proposed. And at last, the experimental results show that, compared with some conventional denoising methods, the proposed method can remove noise efficiently in images, keep line like structures well, and has higher peak signal to noise ratio.
2 仿真代码
% Main options fields :
% - Weickert_lambda (edge detection threshold)
% - final_time (PDE evolution time)
% Secondary options fields :
% - Weickert_choice ('cEED','cCED','EED','CED'. Choice of PDE)
% - Weickert_alpha (diffusion tensors condition number is <=1/alpha)
% - Weickert_m (exponent in Weickert's tensors construction)
% - noise_filter, feature_filter (for structure tensor construction)
% - rescale for unit maximum trace (rescale structure tensors, true by default)
% - max_diff_iter (max number of time steps, and diffusion tensor updates)
% - max_inner_iter (number of inner time steps, between diffusion tensor updates)
% - verbose (true or false)
% Remark on performance: On 'large' cases, such as the MRI below, computation time
% is dominated by the sparse matrix assembly "spmat(col,row,coef,n,n)".
% In case of need, consider the following optimized C++ implementation designed for
% the Insight Toolkit (ITK)
% J. Fehrenbach, J.-M. Mirebeau, L. Risser, S. Tobji,
% Anisotropic Diffusion in ITK, Insight Journal, 2015
% http://www.insight-journal.org/browse/publication/953
addpath('ToolBox');
addpath('ToolBox/AD-LBR');
addpath('ToolBox/TensorConstruction');
addpath('Eig3Folder/Eig3Folder');
disp('----------------- Demo : MRI -----------------')
clear options;
img=double(hdf5read('ImageData/mrbrain_noisy_01.hdf5','/ITKImage/0/VoxelData'))/255;
%options.Weickert_choice = 'cEED'; %Edge enhancing diffusion (default)
options.Weickert_lambda = 0.003; %Edge detection threshold.
options.final_time=8; %PDE evolution time.
options.max_inner_iter=3;
smoothed=NonLinearDiffusion_3D(img,options);
imshow([img(:,:,50),smoothed(:,:,50)]);
pause();
imshow([squeeze(img(:,120,:)),squeeze(smoothed(:,120,:))]);
pause();
imshow([squeeze(img(100,:,:)),squeeze(smoothed(100,:,:))]);
pause();
disp('---------------- Demo : Cos3D ---------------')
clear options;
img=double(hdf5read('ImageData/Cos3D_Noisy.hdf5','/ITKImage/0/VoxelData'))/255;
options.Weickert_choice = 'cCED';
options.Weickert_lambda = 0.02; %Edge detection threshold.
options.final_time=10; %PDE evolution time.
options.noise_filter = fspecial('gaussian',[10,1],4);
options.feature_filter = fspecial('gaussian',[16,1],5);
smoothed=NonLinearDiffusion_3D(img,options);
imshow([img(:,:,90),smoothed(:,:,90)]);
pause();
3 运行结果
4 参考文献
[1]Jérme Fehrenbach, Mirebeau J M . Sparse Non-negative Stencils for Anisotropic Diffusion[J]. Journal of Mathematical Imaging and Vision, 2014.
[2] Ying X H , Yin Z H , Hua X M , et al. Image Denoising through Combination of P M Diffusion and Coherence Enhancing DiffusionP2M扩散与相干增强扩散相结合的抑制噪声方法[J]. 中国图象图形学报, 2005, 10(2):158-163.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
边栏推荐
猜你喜欢
Network In Network学习记录
Sencha Touch延迟加载模块中的小类提高程序进入每个模块时性能
aspx结尾文件网站的发布过程
DataNode重启
Early departure, learning source half a year, finally got the ants Offer to share the interview process
经典卷积神经网络ZFNet--解卷积可视化
全新Swagger3.0教程,OAS3快速配置指南,实现API接口文档自动化!
笔记&代码 | 统计学——基于R(第四版) 第十一章 时间序列预测
mysql 批量修改表及字段字符集
LeetCode精选200道--双指针篇
随机推荐
<力扣刷题>965. 单值二叉树
如何选择云服务器与轻量应用服务器?谈谈自己的看法
图像超分辨率重建概述
Unified identity management platform IAM single sign-on process and third-party interface design scheme
EfficientNet v2网络学习记录--更小更快
CondConv--动态卷积思想
在特征通道提升网络性能 --SENet网络详解
Unity3D小白学习日记(03):Unity3D 常用技巧整理(大量干货!)
NodeJs连接mysql数据库
js 常用方法
DataNode重启
控件限制总结
Transformer前言:self-attention与Multi-Headed Attention的详细理解
京东三面惨遭被虐,关于 redis,高并发,分布式,问懵了
微信企业号开发之获取公共域名
2022年中国全民健身发展白皮书
MySQL存储过程与函数
4-7 Matplotlib库 箱线图
Region Proposal Network(RPN)
网络安全基础-基本dos命令(一)