用法:
cucim.skimage.restoration.denoise_tv_chambolle(image, weight=0.1, eps=0.0002, n_iter_max=200, multichannel=False)
对 n 维图像执行 total-variation 去噪。
- image:整数、单位或浮点数的 ndarray
输入要降噪的数据。
image
可以是任何数字类型,但它被转换为浮点数的 ndarray 以计算去噪图像。- weight:浮点数,可选
去噪权重。
weight
越大,去噪越多(以牺牲对input
的保真度为代价)。- eps:浮点数,可选
确定停止标准的成本函数值的相对差异。算法在以下情况下停止:
(E_(n-1) - E_n) < 每股收益 * E_0
- n_iter_max:int 可选
用于优化的最大迭代次数。
- multichannel:布尔型,可选
对每个通道分别应用total-variation 去噪。这个选项应该适用于彩色图像,否则去噪也适用于通道维度。
- out:ndarray
去噪图像。
参数:
返回:
注意:
确保为彩色图像设置适当的多通道参数。
全变差去噪的原理在https://en.wikipedia.org/wiki/Total_variation_denoising
全变差去噪的原理是使图像的总变差最小化,可以粗略地说明为图像梯度范数的积分。全变差去噪倾向于产生“cartoon-like”图像,即piecewise-constant图像。
此代码是 Chambolle 在[1] 中提出的 Rudin、Fatemi 和 Osher 算法的实现。
参考:
- 1
A. Chambolle, An algorithm for total variation minimization and applications, Journal of Mathematical Imaging and Vision, Springer, 2004, 20, 89-97.
例子:
宇航员图像上的 2D 示例:
>>> from skimage import color, data >>> img = color.rgb2gray(data.astronaut())[:50, :50] >>> img += 0.5 * img.std() * np.random.randn(*img.shape) >>> denoised_img = denoise_tv_chambolle(img, weight=60)
合成数据的 3D 示例:
>>> x, y, z = np.ogrid[0:20, 0:20, 0:20] >>> mask = (x - 22)**2 + (y - 20)**2 + (z - 17)**2 < 8**2 >>> mask = mask.astype(float) >>> mask += 0.2*np.random.randn(*mask.shape) >>> res = denoise_tv_chambolle(mask, weight=100)
相关用法
- Python cucim.skimage.restoration.richardson_lucy用法及代码示例
- Python cucim.skimage.restoration.calibrate_denoiser用法及代码示例
- Python cucim.skimage.restoration.wiener用法及代码示例
- Python cucim.skimage.restoration.unsupervised_wiener用法及代码示例
- Python cucim.skimage.registration.optical_flow_tvl1用法及代码示例
- Python cucim.skimage.feature.shape_index用法及代码示例
- Python cucim.skimage.util.invert用法及代码示例
- Python cucim.skimage.data.binary_blobs用法及代码示例
- Python cucim.skimage.filters.roberts_neg_diag用法及代码示例
- Python cucim.skimage.color.lch2lab用法及代码示例
- Python cucim.skimage.measure.label用法及代码示例
- Python cucim.skimage.color.rgb2gray用法及代码示例
- Python cucim.skimage.filters.gabor用法及代码示例
- Python cucim.skimage.transform.rescale用法及代码示例
- Python cucim.skimage.filters.roberts_pos_diag用法及代码示例
- Python cucim.skimage.segmentation.random_walker用法及代码示例
- Python cucim.skimage.filters.roberts用法及代码示例
- Python cucim.skimage.morphology.dilation用法及代码示例
- Python cucim.skimage.feature.corner_foerstner用法及代码示例
- Python cucim.skimage.measure.moments_coords用法及代码示例
注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cucim.skimage.restoration.denoise_tv_chambolle。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。