当前位置:网站首页>【图像去噪】基于边缘增强扩散 (cEED) 和 Coherence Enhancing Diffusion (cCED) 滤波器实现图像去噪附matlab代码
【图像去噪】基于边缘增强扩散 (cEED) 和 Coherence Enhancing Diffusion (cCED) 滤波器实现图像去噪附matlab代码
2022-08-09 02:40:00 【matlab_dingdang】
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代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
边栏推荐
猜你喜欢
从0开始搭建自动化测试框架之PO分层架构
独立机器连接cdh的spark集群,远程提交任务(绝对可以成功,亲测了n遍)
【网络教程】IPtables官方教程--学习笔记3
2022年自然语言处理校招社招实习必备知识点盘点分享
Likou Brush Question Record 5.1-----59. Spiral Matrix II
Jenkins environment deployment, (packaging, publishing, deployment, automated testing)
普通人如何增加收入
Likou Brush Question Record 1.5-----367. Valid perfect squares
数仓第一篇:基础架构
数字 06 verilog_关于异步FIFO
随机推荐
17.flink Table Api基础概念讲解
全志平台双路LVDS配置
Qt 信号槽connect的同步与异步处理
微信公众号跳转小程序 wx-open-launch-weapp (最全指南及坑)
Flume (四) --------- Flume 企业开发案例
最新工业界推荐系统数据集-召回排序模型原理、结构及代码实战整理分享
金融行业软件测试面试题(含答案)| 入门指南
通过安装VNC服务器x11vnc(或vnc4server)和配置x11vnc.service实现远程通过VNC-Viewer访问VNC服务器。
数字 05 verilog&vivado2018.2零散笔记
DataGridView在多线程中出现大红叉
SQLite切换日志模式优化
全志通过fastboot烧写boot.img
OJ:L3-001 凑零钱 DFS
【Redis】主从复制的核心原理
为什么应用程序依赖关系映射对于云迁移至关重要
使用TensorRT对AlphaPose模型进行加速
DSP28379学习笔记 (一)——GPIO基本操作
The first lesson of HNUMSC-C language
【izpack】使用izpack为你的程序提供安装程序封装
HMS Core分析服务智能运营6.5.1版本上线