当前位置:网站首页>Image denoising based on edge enhancement Diffusion 】 (cEED) and Coherence Enhancing coursing together (cCED) filter to realize image denoising matlab code
Image denoising based on edge enhancement Diffusion 】 (cEED) and Coherence Enhancing coursing together (cCED) filter to realize image denoising matlab code
2022-08-09 01:03:00 【Matlab research studio】
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 DiffusionP2MA Noise Suppression Method Combined with Diffusion and Coherence Enhanced Diffusion[J]. 中国图象图形学报, 2005, 10(2):158-163.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流.
部分理论引用网络文献,若有侵权联系博主删除.
边栏推荐
猜你喜欢
利用Ehcache分布式缓存,轻松打造商业级高并发、高性能API接口!
A double non-programmer interviewed Ant, Meituan, Ctrip and other big companies with offers to share the interview process
TCP/IP协议栈
vscode 中新建文件自动显示作者,日期等配置
“圆梦杯”大学生智能硬件设计大赛 初赛样题——理论题作答
知识图谱学习笔记——我的第一次知识图谱实践
对付流氓软件
微信企业号开发之获取AccessToken
DataNode重启
睿智的目标检测61——Tensorflow2 Focal loss详解与在YoloV4当中的实现
随机推荐
【图像去噪】基于边缘增强扩散 (cEED) 和 Coherence Enhancing Diffusion (cCED) 滤波器实现图像去噪附matlab代码
leetcode-45-跳跃游戏 II
clickhouse 思维导图
【.NET 6】开发minimal api以及依赖注入的实现和代码演示
CondConv--动态卷积思想
利用Ehcache分布式缓存,轻松打造商业级高并发、高性能API接口!
4-5 Matplotlib库 散点图
LVGL简介(基于v8.1-8.2)
灰色预测模型
pytorch计算模型的参数量和计算速度
5-3 Seaborn 分布绘图
非科班毕业生,五面阿里:四轮技术面 +HR 一面已拿 offer
笔记&代码 | 统计学——基于R(第四版) 第二章数据可视化
远程控制项目遇到的bug
笔记| 矩阵分析中需要复习的线性代数知识
全新Swagger3.0教程,OAS3快速配置指南,实现API接口文档自动化!
Pinctrl 子系统简介
在Ubuntu/Linux环境下使用MySQL:解决com.mysql.jdbc.PacketTooBigException: Packet for query is too large的问题
【图像增强】基于Step和Polynomial 滤波实现图像增强附matlab代码
js文件的处理