反銳化遮罩#

反銳化遮罩是一種線性影像處理技術,可銳化影像。銳利細節被識別為原始影像與其模糊版本之間的差異。然後縮放這些細節,並將其添加回原始影像

增強影像 = 原始影像 + 數量 * (原始影像 - 模糊影像)

模糊步驟可以使用任何影像濾波方法,例如中值濾波器,但傳統上使用高斯濾波器。反銳化遮罩濾波器中的半徑參數是指高斯濾波器的 sigma 參數。

此範例顯示不同半徑和數量參數的效果。

Original image, Enhanced image, radius=1, amount=1.0, Enhanced image, radius=5, amount=2.0, Enhanced image, radius=20, amount=1.0
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.751 秒)

由 Sphinx-Gallery 產生的圖庫