Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

superpixels

Sobresegmentación de superpíxeles 2-D de imágenes

Descripción

ejemplo

[L,NumLabels] = superpixels(A,N) calcula los superpíxeles de la imagen 2-D en escala de grises o RGB. especifica el número de superpíxeles que desea crear.UnN La función devuelve , una matriz de etiquetas de tipo y , el número real de superpíxeles que se calcularon.LdoubleNumLabels

La función utiliza el algoritmo de agrupación en clústeres iterativo lineal simple (SLIC).superpixels[1] Este algoritmo agrupa los píxeles en regiones con valores similares. El uso de estas regiones en operaciones de procesamiento de imágenes, como la segmentación, puede reducir la complejidad de estas operaciones.

[L,NumLabels] = superpixels(___,Name,Value,...) calcula los superpíxeles de la imagen A utilizando los pares Nombre-Valor utilizados para controlar aspectos de la segmentación.

Ejemplos

contraer todo

Lea la imagen en el espacio de trabajo.

A = imread('kobi.png');

Calcular superpíxeles de la imagen.

[L,N] = superpixels(A,500);

Muestra los límites de superpíxeles superpuestos en la imagen original.

figure BW = boundarymask(L); imshow(imoverlay(A,BW,'cyan'),'InitialMagnification',67)

Establezca el color de cada píxel de la imagen de salida en el color RGB medio de la región de superpíxeles.

outputImage = zeros(size(A),'like',A); idx = label2idx(L); numRows = size(A,1); numCols = size(A,2); for labelVal = 1:N     redIdx = idx{labelVal};     greenIdx = idx{labelVal}+numRows*numCols;     blueIdx = idx{labelVal}+2*numRows*numCols;     outputImage(redIdx) = mean(A(redIdx));     outputImage(greenIdx) = mean(A(greenIdx));     outputImage(blueIdx) = mean(A(blueIdx)); end      figure imshow(outputImage,'InitialMagnification',67)

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como una matriz real, no dispersa. Para los datos, debe ser una imagen en escala de grises 2D.int16Un Para todos los demás tipos de datos, puede ser una imagen RGB 2D en escala de grises o 2D.Un Cuando el parámetro es , la imagen de entrada debe ser o .isInputLabtruesingledouble

Tipos de datos: single | double | int16 | uint8 | uint16

Número deseado de superpíxeles, especificado como escalar numérico.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como .Name1,Value1,...,NameN,ValueN

Ejemplo: B = superpixels(A,100,'NumIterations', 20);

Forma de superpíxeles, especificada como escalar numérico. El parámetro compactness del algoritmo SLIC controla la forma de los superpíxeles. Un valor más alto hace que los superpíxeles formen con mayor regularidad, es decir, un cuadrado. Un valor más bajo hace que los superpíxeles se adhieran mejor a los límites, haciéndolos de forma irregular. El rango permitido es .(0 Inf) Los valores típicos de compactación están en el rango.[1,20]

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Los datos de imagen de entrada se enmarcen en el espacio de color, especificado como el escalar lógico o .L*a*b*truefalse

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Algoritmo utilizado para calcular superpíxeles, especificado como uno de los siguientes valores. La función utiliza dos variaciones del algoritmo de agrupación en clústeres iterativo lineal simple (SLIC).superpixels

Valor

Significado

'slic0'

utiliza el algoritmo SLIC0 para refinar adaptativamente después de la primera iteración.superpixels'Compactness' Este es el valor predeterminado.

'slic'

es constante durante la agrupación en clústeres.'Compactness'

Tipos de datos: char | string

Número de iteraciones utilizadas en la fase de agrupación en clústeres del algoritmo, especificado como un escalar numérico. Para la mayoría de los problemas, no es necesario ajustar este parámetro.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Argumentos de salida

contraer todo

Matriz de etiquetas, devuelta como una matriz numérica de tipo .double Los valores son enteros positivos, donde indica la primera región, la segunda región, etc. para cada región de superpíxeles de la imagen.12

Número de superpíxeles calculados, devueltos como un escalar numérico de tipo .double

Referencias

[1] Radhakrishna Achanta, Appu Shaji, Kevin Smith, Aurelien Lucchi, Pascal Fua, and Sabine Susstrunk, SLIC Superpixels Compared to State-of-the-art Superpixel Methods. IEEE Transactions on Pattern Analysis and Machine Intelligence, Volume 34, Issue 11, pp. 2274-2282, May 2012

Capacidades ampliadas

Introducido en R2016a