Edges-based/region-based segmentation
This example, taken from the examples in the scikit-image
documentation, demonstrates how to segment objects from a background by first using edge-based and then using region-based segmentation algorithms. The coins image from skimage.data
is used as the input image, which shows several coins outlined against a darker background. The next code block displays the grayscale image and its intensity histogram:
coins = data.coins()
hist = np.histogram(coins, bins=np.arange(0, 256), normed=True)
fig, axes = pylab.subplots(1, 2, figsize=(20, 10))
axes[0].imshow(coins, cmap=pylab.cm.gray, interpolation='nearest')
axes[0].axis('off'), axes[1].plot(hist[1][:-1], hist[0], lw=2)
axes[1].set_title('histogram of gray values')
pylab.show()
Edge-based segmentation
In this example, we will try to delineate the contours of the coins usingedge-based segmentation. To do this, the first step is to get the edges of features using the Canny edge detector, demonstrated by the...