注意
转到末尾 下载完整的示例代码。或通过 Binder 在浏览器中运行此示例
锐化掩蔽#
锐化掩蔽是一种线性图像处理技术,用于锐化图像。清晰的细节被识别为原始图像与其模糊版本之间的差异。然后缩放这些细节,并将其添加回原始图像
增强图像 = 原始图像 + 系数 * (原始图像 - 模糊图像)
模糊步骤可以使用任何图像滤波方法,例如中值滤波器,但传统上使用高斯滤波器。锐化掩蔽滤波器中的半径参数指的是高斯滤波器的 sigma 参数。
此示例显示了不同半径和系数参数的效果。
from skimage import data
from skimage.filters import unsharp_mask
import matplotlib.pyplot as plt
image = data.moon()
result_1 = unsharp_mask(image, radius=1, amount=1)
result_2 = unsharp_mask(image, radius=5, amount=2)
result_3 = unsharp_mask(image, radius=20, amount=1)
fig, axes = plt.subplots(nrows=2, ncols=2, sharex=True, sharey=True, figsize=(10, 10))
ax = axes.ravel()
ax[0].imshow(image, cmap=plt.cm.gray)
ax[0].set_title('Original image')
ax[1].imshow(result_1, cmap=plt.cm.gray)
ax[1].set_title('Enhanced image, radius=1, amount=1.0')
ax[2].imshow(result_2, cmap=plt.cm.gray)
ax[2].set_title('Enhanced image, radius=5, amount=2.0')
ax[3].imshow(result_3, cmap=plt.cm.gray)
ax[3].set_title('Enhanced image, radius=20, amount=1.0')
for a in ax:
a.axis('off')
fig.tight_layout()
plt.show()
脚本的总运行时间:(0 分钟 1.366 秒)