rag-mean-color

rag_mean_color

skimage.future.graph.rag_mean_color(image, labels, connectivity=2, mode='distance', sigma=255.0) [source]

Compute the Region Adjacency Graph using mean colors.

Given an image and its initial segmentation, this method constructs the corresponding Region Adjacency Graph (RAG). Each node in the RAG represents a set of pixels within image with the same label in labels. The weight between two adjacent regions represents how similar or dissimilar two regions are depending on the mode parameter.

Parameters:

image : ndarray, shape(M, N, [..., P,] 3)

Input image.

labels : ndarray, shape(M, N, [..., P,])

The labelled image. This should have one dimension less than image. If image has dimensions (M, N, 3) labels should have dimensions (M, N).

connectivity : int, optional

Pixels with a squared distance less than connectivity from each other are considered adjacent. It can range from 1 to labels.ndim. Its behavior is the same as connectivity parameter in scipy.ndimage.generate_binary_structure.

mode : {‘distance’, ‘similarity’}, optional

The strategy to assign edge weights.

‘distance’ : The weight between two adjacent regions is the |c_1 - c_2|, where c_1 and c_2 are the mean colors of the two regions. It represents the Euclidean distance in their average color.

‘similarity’ : The weight between two adjacent is e^{-d^2/sigma} where d=|c_1 - c_2|, where c_1 and c_2 are the mean colors of the two regions. It represents how similar two regions are.

sigma : float, optional

Used for computation when mode is “similarity”. It governs how close to each other two colors should be, for their corresponding edge weight to be significant. A very large value of sigma could make any two colors behave as though they were similar.

Returns:

out : RAG

The region adjacency graph.

References

[R226] Alain Tremeau and Philippe Colantoni “Regions Adjacency Graph Applied To Color Image Segmentation” http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.11.5274

Examples

>>> from skimage import data, segmentation
>>> from skimage.future import graph
>>> img = data.astronaut()
>>> labels = segmentation.slic(img)
>>> rag = graph.rag_mean_color(img, labels)
doc_scikit_image
2017-01-12 17:22:59
Comments
Leave a Comment

Please login to continue.