Merge pull request #375 from ahojnnes/hough-peak-example

Add example for hough_peaks function
This commit is contained in:
Tony S Yu
2012-12-03 06:35:47 -08:00
+13 -5
View File
@@ -59,7 +59,7 @@ References
'''
from skimage.transform import hough, probabilistic_hough
from skimage.transform import hough, hough_peaks, probabilistic_hough
from skimage.filter import canny
from skimage import data
@@ -81,11 +81,11 @@ h, theta, d = hough(image)
plt.figure(figsize=(8, 4))
plt.subplot(121)
plt.subplot(131)
plt.imshow(image, cmap=plt.cm.gray)
plt.title('Input image')
plt.subplot(122)
plt.subplot(132)
plt.imshow(np.log(1 + h),
extent=[np.rad2deg(theta[-1]), np.rad2deg(theta[0]),
d[-1], d[0]],
@@ -94,6 +94,15 @@ plt.title('Hough transform')
plt.xlabel('Angles (degrees)')
plt.ylabel('Distance (pixels)')
plt.subplot(133)
plt.imshow(image, cmap=plt.cm.gray)
rows, cols = image.shape
for _, angle, dist in zip(*hough_peaks(h, theta, d)):
y0 = (dist - 0 * np.cos(angle)) / np.sin(angle)
y1 = (dist - cols * np.cos(angle)) / np.sin(angle)
plt.plot((0, cols), (y0, y1), '-r')
plt.axis((0, cols, rows, 0))
plt.title('Detected lines')
# Line finding, using the Probabilistic Hough Transform
@@ -118,7 +127,6 @@ for line in lines:
p0, p1 = line
plt.plot((p0[0], p1[0]), (p0[1], p1[1]))
plt.title('Lines found with PHT')
plt.title('Probabilistic Hough')
plt.axis('image')
plt.show()