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.

superpixels3

Sobresegmentación de superpíxeles 3-D de la imagen 3D

Descripción

ejemplo

[L,NumLabels] = superpixels3(A,N) calcula superpíxeles 3D de la imagen 3D. especifica el número de superpíxeles que desea crear.UnN La función devuelve , una matriz de etiquetas 3D y , el número real de superpíxeles devueltos.LNumLabels

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

Ejemplos

contraer todo

Cargue datos de RMN 3D, elimine las dimensiones de singleton y convierta los datos en una imagen de intensidad en escala de grises.

load mri; D = squeeze(D); A = ind2gray(D,map); 

Calcule los superpíxeles 3D. Forme una imagen de salida donde cada píxel se establezca en el color medio de su región de superpíxeles correspondiente.

[L,N] = superpixels3(A,34); 

Mostrar todos los planos xy progresivamente con límites de superpíxeles.

imSize = size(A); 

Cree una pila de imágenes RGB para mostrar los límites en color.

imPlusBoundaries = zeros(imSize(1),imSize(2),3,imSize(3),'uint8'); for plane = 1:imSize(3)   BW = boundarymask(L(:, :, plane));   % Create an RGB representation of this plane with boundary shown   % in cyan.   imPlusBoundaries(:, :, :, plane) = imoverlay(A(:, :, plane), BW, 'cyan'); end  implay(imPlusBoundaries,5) 

Establezca el color de cada píxel en la imagen de salida en la intensidad media de la región de superpíxeles. Muestre la imagen media junto al original. Si ejecuta este código, puede usar para ver cada sector de los datos de RMN.implay

pixelIdxList = label2idx(L); meanA = zeros(size(A),'like',D); for superpixel = 1:N      memberPixelIdx = pixelIdxList{superpixel};      meanA(memberPixelIdx) = mean(A(memberPixelIdx)); end implay([A meanA],5); 

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como una matriz 3D real, no dispersa.

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

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 = superpixels3(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. Puede especificar cualquier valor en el rango, pero los valores típicos están en el intervalo.[0 Inf)[0.01,0.1]

Nota

Si especifica el método, normalmente no es necesario ajustar el parámetro.'slic0''Compactness' Con el método, refina el parámetro de forma adaptable automáticamente, eliminando así la necesidad de determinar un buen valor.'slic0'superpixel3'Compactness'

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

Algoritmo utilizado para calcular los superpíxeles, especificado como uno de los siguientes valores. Para obtener más información, consulte .Algoritmos

Valor

Significado

'slic0'

utiliza el algoritmo SLIC0 para refinar adaptativamente después de la primera iteración.superpixels3'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 3D 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

Algoritmos

El algoritmo utilizado en es una versión modificada del algoritmo de agrupación iterativa lineal simple (SLIC) utilizado por .superpixels3superpixels En un nivel alto, crea centros de clúster y, a continuación, alterna de forma iterativa entre asignar píxeles al centro de clúster más cercano y actualizar las ubicaciones de los centros de clúster. utiliza una métrica de distancia para determinar el centro de clúster más cercano para cada píxel.superpixels3 Esta métrica de distancia combina la distancia de intensidad y la distancia espacial.

El argumento de la función proviene de la forma matemática de la métrica de distancia.Compactness El parámetro compactness del algoritmo es un valor escalar que controla la forma de los superpíxeles. La distancia entre dos píxeles y , donde está el valor de compactación, es:ijm

dintensity=(lilj)2dspatial=(xixj)2+(yiyj)2+(zizj)2D=(dintensitym)2+(dspatialS)2

La compactación tiene el mismo significado que en la función 2D:superpixels Determina la importancia relativa de la distancia de intensidad y la distancia espacial en la métrica de distancia general. Un valor más bajo hace que los superpíxeles se adhieran mejor a los límites, haciéndolos de forma irregular. Un valor más alto hace que los superpíxeles se formen con mayor regularidad. El rango permitido para la compactación es, como en la función 2D.(0 Inf) El rango típico se ha encontrado a través de la experimentación para ser .[0.01 0.1] El rango dinámico de imágenes de entrada se normaliza dentro del algoritmo para que sea de 0 a 1. Esto permite un significado coherente de los valores de compactación en todas las imágenes.

Introducido en R2016b