Detecting edges
Edge detection is another popular image processing technique (http://en.wikipedia.org/wiki/Edge_detection ). scikits-image has a Canny filter implementation, based on the standard deviation of the Gaussian distribution, which can perform edge detection out of the box. In addition to the image data as a 2D array, this filter accepts the following parameters:
Standard deviation of the Gaussian distribution
Lower bound threshold
Upper bound threshold
How to do it...
We will use the same image as in the previous recipe. The code is almost the same. You should pay extra attention to the one line where we call the Canny filter function:
from sklearn.datasets import load_sample_images from matplotlib.pyplot import imshow, show, axis import numpy import skimage.filter dataset = load_sample_images() img = dataset.images[0] edges = skimage.filter.canny(img[..., 0], 2, 0.3, 0.2) axis('off') imshow(edges) show()
The code produces an image of the edges within the original picture, as shown...