License: OTHER
import numpy as np12from skimage import data3from skimage import draw4from skimage.transform import probabilistic_hough_line56from skimage.viewer import ImageViewer7from skimage.viewer.widgets import Slider8from skimage.viewer.plugins.overlayplugin import OverlayPlugin9from skimage.viewer.plugins.canny import CannyPlugin101112def line_image(shape, lines):13image = np.zeros(shape, dtype=bool)14for end_points in lines:15end_points = np.asarray(end_points)[:, ::-1]16image[draw.line(*np.ravel(end_points))] = 117return image181920def hough_lines(image, *args, **kwargs):21lines = probabilistic_hough_line(image, threshold=0.5, *args, **kwargs)22image = line_image(image.shape, lines)23return image242526image = data.camera()27canny_viewer = ImageViewer(image)28canny_plugin = CannyPlugin()29canny_viewer += canny_plugin3031hough_plugin = OverlayPlugin(image_filter=hough_lines)32hough_plugin += Slider('line length', 0, 100, value=100, update_on='move')33hough_plugin += Slider('line gap', 0, 20, value=0, update_on='move')3435hough_viewer = ImageViewer(canny_plugin)36hough_viewer += hough_plugin3738canny_viewer.show()394041