Various denoising filtersΒΆ

This example compares several denoising filters available in scikit-image: a Gaussian filter, a median filter, and total variation denoising.

../../../_images/plot_filter_coins_1.png

Python source code: plot_filter_coins.py

import numpy as np
import matplotlib.pyplot as plt
from skimage import data
try:
from skimage import filters
except ImportError:
from skimage import filter as filters
from skimage import restoration
coins = data.coins()
gaussian_filter_coins = filters.gaussian_filter(coins, sigma=2)
med_filter_coins = filters.rank.median(coins, np.ones((3, 3)))
tv_filter_coins = restoration.denoise_tv_chambolle(coins, weight=0.1)
plt.figure(figsize=(16, 4))
plt.subplot(141)
plt.imshow(coins[10:80, 300:370], cmap='gray', interpolation='nearest')
plt.axis('off')
plt.title('Image')
plt.subplot(142)
plt.imshow(gaussian_filter_coins[10:80, 300:370], cmap='gray',
interpolation='nearest')
plt.axis('off')
plt.title('Gaussian filter')
plt.subplot(143)
plt.imshow(med_filter_coins[10:80, 300:370], cmap='gray',
interpolation='nearest')
plt.axis('off')
plt.title('Median filter')
plt.subplot(144)
plt.imshow(tv_filter_coins[10:80, 300:370], cmap='gray',
interpolation='nearest')
plt.axis('off')
plt.title('TV filter')
plt.show()

Total running time of the example: 0.32 seconds ( 0 minutes 0.32 seconds)