## Jupyter Snippet CB2nd 02_filters

Jupyter Snippet CB2nd 02_filters

# 11.2. Applying filters on an image

``````import numpy as np
import matplotlib.pyplot as plt
import skimage
import skimage.color as skic
import skimage.filters as skif
import skimage.data as skid
import skimage.util as sku
%matplotlib inline
``````
``````def show(img):
fig, ax = plt.subplots(1, 1, figsize=(8, 8))
ax.imshow(img, cmap=plt.cm.gray)
ax.set_axis_off()
plt.show()
``````
``````img = skic.rgb2gray(skid.astronaut())
``````
``````show(img)
``````

``````show(skif.gaussian(img, 5.))
``````

``````sobimg = skif.sobel(img)
show(sobimg)
``````

``````from ipywidgets import widgets

@widgets.interact(x=(0.01, .2, .005))
def edge(x):
show(sobimg < x)
``````

``````img = skimage.img_as_float(skid.astronaut())

# We take a portion of the image to show the details.
img = img[50:200, 150:300]

# We add Gaussian noise.
img_n = sku.random_noise(img)
show(img_n)
``````

``````img_r = skimage.restoration.denoise_tv_bregman(
img_n, 5.)

fig, (ax1, ax2, ax3) = plt.subplots(
1, 3, figsize=(12, 8))

ax1.imshow(img_n)
ax1.set_title('With noise')
ax1.set_axis_off()

ax2.imshow(img_r)
ax2.set_title('Denoised')
ax2.set_axis_off()

ax3.imshow(img)
ax3.set_title('Original')
ax3.set_axis_off()
``````