imsegm.superpixels module¶
- Framework for superpixels
wrapper over skimage.SLIC
other related functions
SEE: * http://scikit-image.org/docs/dev/auto_examples/plot_segmentations.html
Copyright (C) 2014-2018 Jiri Borovec <jiri.borovec@fel.cvut.cz>
-
imsegm.superpixels.
get_neighboring_segments
(edges)[source]¶ get the indexes of neighboring superpixels for each superpixel the input is list edges of all neighboring segments
- Parameters
int]] edges ([[int,) –
- Return [[int]]
>>> get_neighboring_segments([[0, 1], [1, 2], [1, 3], [2, 3]]) [[1], [0, 2, 3], [1, 3], [1, 2]]
-
imsegm.superpixels.
get_segment_diffs_2d_conn4
(grid)[source]¶ wrapper for getting 4-connected in 2D image plane
- Parameters
grid (ndarray) – segmentation
- Return [(int, int)]
-
imsegm.superpixels.
get_segment_diffs_3d_conn6
(grid)[source]¶ wrapper for getting 6-connected in 3D image plane
- Parameters
grid (ndarray) – segmentation
- Return [(int, int, int)]
-
imsegm.superpixels.
make_graph_segm_connect_grid2d_conn4
(grid)[source]¶ construct graph of connected components
- Parameters
grid (ndarray) – segmentation
- Return [int], [(int, int)]
>>> grid = np.array([[0] * 5 + [1] * 5, [2] * 5 + [3] * 5]) >>> v, edges = make_graph_segm_connect_grid2d_conn4(grid) >>> v array([0, 1, 2, 3]) >>> edges [[0, 1], [0, 2], [1, 3], [2, 3]]
-
imsegm.superpixels.
make_graph_segm_connect_grid3d_conn6
(grid)[source]¶ construct graph of connected components
- Parameters
grid (ndarray) – segmentation
- Return [int], [(int, int)]
>>> grid_2d = np.array([[0] * 5 + [1] * 5, [2] * 5 + [3] * 5]) >>> grid = np.array([grid_2d, grid_2d + 4]) >>> v, edges = make_graph_segm_connect_grid3d_conn6(grid) >>> v array([0, 1, 2, 3, 4, 5, 6, 7]) >>> edges [[0, 1], [0, 2], [1, 3], [2, 3], [0, 4], [1, 5], [4, 5], [2, 6], [4, 6], [3, 7], [5, 7], [6, 7]]
-
imsegm.superpixels.
make_graph_segment_connect_edges
(vertices, all_edges)[source]¶ make graph of connencted components SEE: http://peekaboo-vision.blogspot.cz/2011/08/region-connectivity-graphs-in-python.html
- Parameters
vertices (ndarray) –
all_edges (ndarray) –
- Return tuple(ndarray,ndarray)
-
imsegm.superpixels.
segment_slic_img2d
(img, sp_size=50, relative_compact=0.1, slico=False)[source]¶ segmentation by SLIC superpixels using original SLIC implementation
- Parameters
- Return ndarray
segmentation
>>> np.random.seed(0) >>> img = np.random.random((100, 150, 3)) >>> slic = segment_slic_img2d(img, 20, 0.2) >>> slic.shape (100, 150) >>> img = np.random.random((150, 100)) >>> slic = segment_slic_img2d(img, 20, 0.2) >>> slic.shape (150, 100)
-
imsegm.superpixels.
segment_slic_img3d_gray
(im, sp_size=50, relative_compact=0.1, space=(1, 1, 1))[source]¶ segmentation by SLIC superpixels using originla SLIC implementation
- Parameters
- Return ndarray
>>> np.random.seed(0) >>> img = np.random.random((100, 100, 10)) >>> slic = segment_slic_img3d_gray(img, 20, 0.2, (1, 1, 5)) >>> slic.shape (100, 100, 10)
-
imsegm.superpixels.
superpixel_centers
(segments)[source]¶ estimate centers of each superpixel
- Parameters
segments (ndarray) – segmentation np.array<height, width>
- Return [(float, float)]
>>> segm = np.array([[0] * 6 + [1] * 5, [0] * 6 + [2] * 5]) >>> superpixel_centers(segm) [(0.5, 2.5), (0.0, 8.0), (1.0, 8.0)] >>> superpixel_centers(np.array([segm, segm, segm])) [[1.0, 0.5, 2.5], [1.0, 0.0, 8.0], [1.0, 1.0, 8.0]]