图像去噪基于matlab BM3D算法图像去噪含Matlab源码 1779期

Posted 紫极神光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像去噪基于matlab BM3D算法图像去噪含Matlab源码 1779期相关的知识,希望对你有一定的参考价值。

一、BM3D算法图像去噪简介

1 BM3D去噪算法概述
BM3D算法借鉴了非局部均值(NL-Means)方法的非局部块匹配思想,在此基础上,将图像相似块堆叠成三维矩阵后进行协同滤波处理,再将处理结果聚合到原图像块的位置。BM3D算法由两个大的步骤组成,即初步估计和最终估计阶段,每一阶段又分别包含三个部分:块匹配、协同滤波和聚合。

1.1 初步估计阶段
(1)块匹配分组
块匹配是寻找图像相似块的一个过程。首先将含有噪声的图像分成若干个大小为N´N的图像块。设参考块为Zx R,待匹配的图像块为Zx,用两个块之间的欧氏距离定义块之间的相似性,距离越短则说明它们之间的相似性越高。设定一个阈值t,如果两块之间的距离小于该阈值,则认为它们是相似的。然后将寻找出来的图像块和参考块堆叠成为一个三维矩阵。块的匹配和堆叠过程如图1所示。

(2)协同滤波
先对堆叠后的三维矩阵进行三维变换,然后进行硬阈值滤波(Hard thresholding),将小于阈值的系数置0,之后进行三维逆变换得到初步处理后的图像。

图1 块匹配和堆叠过程示意图
(3)聚合
由于协同滤波后的估计块往往有重叠,因此需要进行加权平均的信息整合,即通过加权平均所有重叠块的预估值来计算真实图像的初步估计[10]。

1.2 最终估计阶段
(1)块匹配分组
将初步估计的图像块和含噪图像块分别堆叠成两个三维矩阵,具体过程和初步估计的分组方法相同。

(2)协同滤波
将上一步得到的矩阵分别进行三维变换,并且将初步估计阶段所得值作为真实信号同含噪图像执行维纳滤波(Wiener filtering)操作,再进行三维逆变换。

(3)聚合
对上一步得到的值进行加权平均,得到最终估计的图像。

本文将BM3D算法运用到医学CT图像去噪中,并且在实验中同均值滤波、维纳滤波、中值滤波等算法做了对比,实验结果表明,在低剂量CT图像去噪中,BM3D算法取得了较好的效果。

3 算法的具体实现
对于带有噪声的图像z (x),其加性噪声可以用公式(1)获得。

其中y (x)代表没有被噪声污染的图像,n (x)代表加性噪声,x是图像的坐标点,Ω代表整幅图像的像素点集合,后文中的硬阈值滤波和维纳滤波分别缩写为ht和wie。

在理想情况下,若原始图像是y,则在块匹配过程中图像块Zx R和Zx之间的距离计算如公式(2)。

其中x R和x分别表示两个图像块左上角的坐标,(N1ht)2是图像块的大小,是L2范数。但实际上,理想的图像y不能直接获得,只有含噪图像可用,故按公式(3)计算距离。

理论上距离服从非中心卡方分布,它的均值和方差满足公式(4)。

实际上方差接近O (σ4),如果方差σ较大或者图像分块较小时,可能会发生分组错误。解决的办法是先进行二维线性变换,再进行硬阈值滤波处理使系数收缩,此时的距离由公式(5)计算。

这里的T2htD、γ’分别是二维线性变换和硬阈值滤波操作。由公式(6)求得参考块Zx R的相似图像块集合。

其中τhtmat ch是预设的阈值。这些相似块与参照块被堆叠成为一个三维组,记作ZSxhRt。

然后用公式(7)对三维矩阵执行硬阈值滤波操作。

其中是可分解的三维变换,先进行一轮小波或DCT二维变换,然后进行一维哈达玛(Hadamard)变换。
针对像素存在多个估算值的情况,进一步用公式(8)计算重复的像素权重。

其中σ2是噪声方差,Nhx aRr是不为零元素的个数。再用公式(9)求加权平均就得到了第一阶段的估计图像。

经过这一阶段处理后,图像中的噪声很大程度上已经被消除。在最终估计阶段,相似块的集合可以用公式(10)表示。

得到两组三维矩阵,一组来自初估后的图像,一组来自噪声图像,分别记作,之后的处理同第一阶段的类似,不过要用维纳滤波取代硬阈值滤波,数学式如公式(11)。

滤波的收缩系数如公式(12)。

这个阶段也可能有像素点重叠发生,可运用以下权重公式(13)。

求得最终的估计图像如公式(14)。

二、部分源代码



三、运行结果




四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]王志刚,冯云超.BM3D算法在低剂量CT图像去噪中的应用[J].电脑与电信. 2020,(11)

以上是关于图像去噪基于matlab BM3D算法图像去噪含Matlab源码 1779期的主要内容,如果未能解决你的问题,请参考以下文章

图像去噪基于matlab回归的非局部均值算法图像去噪含Matlab源码 1898期

图像去噪基于matlab蚁群算法优化小波域图像去噪含Matlab源码 2301期

图像去噪基于matlab蚁群算法优化小波域图像去噪含Matlab源码 2301期

图像去噪基于matlab非线性扩散PM算法图像去噪含Matlab源码 2130期

图像去噪基于matlab非线性扩散PM算法图像去噪含Matlab源码 2130期

图像去噪基于matlab全变分算法图像去噪含Matlab源码 1324期