当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python skimage.restoration.denoise_wavelet用法及代码示例


用法:

skimage.restoration.denoise_wavelet(image, sigma=None, wavelet='db1', mode='soft', wavelet_levels=None, multichannel=False, convert2ycbcr=False, method='BayesShrink', rescale_sigma=True, *, channel_axis=None)

对图像进行小波去噪。

参数

imagendarray ([M[, N[, …P]][, C]) 整数、单位或浮点数

输入要降噪的数据。 image 可以是任何数字类型,但它被转换为浮点数的 ndarray 以计算去噪图像。

sigma浮点数或列表,可选

计算小波细节系数阈值时使用的噪声标准偏差。当 None (默认)时,通过 [2] 中的方法估计噪声标准偏差。

wavelet字符串,可选

要执行的小波类型,可以是任何选项pywt.wavelist输出。默认是‘db1’.例如,wavelet可以是任何一个{'db2', 'haar', 'sym9'}还有很多。

mode{‘soft’, ‘hard’},可选

用于选择执行的去噪类型的可选参数。它指出,在给定加性噪声的情况下选择软阈值可以找到原始图像的最佳近似值。

wavelet_levelsint 或无,可选

要使用的小波分解级别数。默认值比可能的分解级别的最大数量少三。

multichannel布尔型,可选

对每个通道分别应用小波去噪(其中通道对应于阵列的最后一个轴)。不推荐使用此参数:改为指定 channel_axis。

convert2ycbcr布尔型,可选

如果为真且多通道为真,则在 YCbCr 颜色空间而不是 RGB 颜色空间中进行小波去噪。这通常会为 RGB 图像带来更好的性能。

method{‘BayesShrink’, ‘VisuShrink’},可选

要使用的阈值方法。当前支持的方法是 “BayesShrink” [1] 和 “VisuShrink” [2] 。默认为“BayesShrink”。

rescale_sigma布尔型,可选

如果为 False,则不会重新调整用户提供的 sigma。如果图像在内部重新缩放,则 True 的默认值会适当地重新缩放 sigma。

channel_axisint 或无,可选

如果为 None,则假定图像是灰度(单通道)图像。否则,此参数指示数组的哪个轴对应于通道。

返回

outndarray

去噪图像。

其他参数

multichannelDEPRECATED

已弃用以支持channel_axis。

注意

小波域是图像的稀疏表示,可以认为类似于傅里叶变换的频域。稀疏表示的大多数值为零或接近零,并且真正的随机噪声(通常)由小波域中的许多小值表示。将低于某个阈值的所有值设置为 0 会减少图像中的噪点,但较大的阈值也会减少图像中存在的细节。

如果输入是 3D,这个函数分别对每个颜色平面进行小波去噪。

已经提出了许多小波系数阈值方法。默认情况下,denoise_wavelet 应用 BayesShrink,这是一种自适应阈值方法,可以为每个小波 sub-band 计算单独的阈值,如 [1] 中所述。

如果 method == "VisuShrink" ,则将单个 “universal threshold” 应用于所有小波细节系数,如 [2] 中所述。该阈值旨在以高概率去除给定sigma 处的所有高斯噪声,但往往会产生看起来过于平滑的图像。

尽管可以选择PyWavelets 中的任何小波,但阈值处理方法假定正交小波变换并且可能无法为双正交小波选择适当的阈值。正交小波是可取的,因为输入中的白噪声仍然是子带中的白噪声。双正交小波导致子带中的有色噪声。此外,PyWavelets 中的正交小波是正交的,因此子带中的噪声方差与输入的噪声方差保持相同。示例正交小波是 Daubechies(例如‘db2’)或 symmlet(例如‘sym2’)族。

参考

1(1,2)

Chang, S. Grace, Bin Yu, and Martin Vetterli. “Adaptive wavelet thresholding for image denoising and compression.” Image Processing, IEEE Transactions on 9.9 (2000): 1532-1546. DOI:10.1109/83.862633

2(1,2,3)

D. L. Donoho and I. M. Johnstone. “Ideal spatial adaptation by wavelet shrinkage.” Biometrika 81.3 (1994): 425-455. DOI:10.1093/biomet/81.3.425

例子

>>> from skimage import color, data
>>> img = img_as_float(data.astronaut())
>>> img = color.rgb2gray(img)
>>> rng = np.random.default_rng()
>>> img += 0.1 * rng.standard_normal(img.shape)
>>> img = np.clip(img, 0, 1)
>>> denoised_img = denoise_wavelet(img, sigma=0.1, rescale_sigma=True)

相关用法


注:本文由纯净天空筛选整理自scikit-image.org大神的英文原创作品 skimage.restoration.denoise_wavelet。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。