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.
El coeficiente de similitud de SØRENSEN-dice para la segmentación de imágenes
calcula el coeficiente de similitud de SØRENSEN-dice entre imágenes binarias y.similarity
= dice(BW1
,BW2
)BW1
BW2
calcula el índice de dados para cada etiqueta en las imágenes de etiqueta y.similarity
= dice(L1
,L2
)L1
L2
calcula el índice de dados para cada categoría en imágenes categóricas y.similarity
= dice(C1
,C2
)C1
C2
Leer una imagen con un objeto para segmentar. Convierta la imagen a escala de grises y visualice el resultado.
A = imread('hands1.jpg'); I = rgb2gray(A); figure imshow(I) title('Original Image')
Utilice contornos activos (serpientes) para segmentar la mano.
mask = false(size(I)); mask(25:end-25,25:end-25) = true; BW = activecontour(I, mask, 300);
Lea en la segmentación de la verdad del terreno.
BW_groundTruth = imread('hands1-mask.png');
Calcule el índice de dados de la segmentación de contornos activos contra la verdad del terreno.
similarity = dice(BW, BW_groundTruth);
Muestre las máscaras una encima de la otra. Los colores indican diferencias en las máscaras.
figure imshowpair(BW, BW_groundTruth) title(['Dice Index = ' num2str(similarity)])
En este ejemplo se muestra cómo segmentar una imagen en varias regiones. A continuación, el ejemplo calcula el coeficiente de similitud de dados para cada región.
Leer una imagen con varias regiones para segmentar.
RGB = imread('yellowlily.jpg');
Cree garabatos para tres regiones que distinguen sus características de color típicas. La primera región clasifica la flor amarilla. La segunda región clasifica el tallo verde y las hojas. La última región clasifica la suciedad marrón en dos parches separados de la imagen. Las regiones se especifican mediante un vector de 4 elementos, cuyo elemento indica la coordenada x e y de la esquina superior izquierda del ROI, el ancho del ROI y la altura del ROI.
region1 = [350 700 425 120]; % [x y w h] format BW1 = false(size(RGB,1),size(RGB,2)); BW1(region1(2):region1(2)+region1(4),region1(1):region1(1)+region1(3)) = true; region2 = [800 1124 120 230]; BW2 = false(size(RGB,1),size(RGB,2)); BW2(region2(2):region2(2)+region2(4),region2(1):region2(1)+region2(3)) = true; region3 = [20 1320 480 200; 1010 290 180 240]; BW3 = false(size(RGB,1),size(RGB,2)); BW3(region3(1,2):region3(1,2)+region3(1,4),region3(1,1):region3(1,1)+region3(1,3)) = true; BW3(region3(2,2):region3(2,2)+region3(2,4),region3(2,1):region3(2,1)+region3(2,3)) = true;
Visualice las regiones de inicialización en la parte superior de la imagen.
figure imshow(RGB) hold on visboundaries(BW1,'Color','r'); visboundaries(BW2,'Color','g'); visboundaries(BW3,'Color','b'); title('Seed Regions')
Segmenta la imagen en tres regiones utilizando la segmentación de color basada en la distancia geodésica.
L = imseggeodesic(RGB,BW1,BW2,BW3,'AdaptiveChannelWeighting',true);
Cargue una segmentación de verdad en tierra de la imagen.
L_groundTruth = double(imread('yellowlily-segmented.png'));
Compare visualmente los resultados de segmentación con la verdad del terreno.
figure imshowpair(label2rgb(L),label2rgb(L_groundTruth),'montage') title('Comparison of Segmentation Results (Left) and Ground Truth (Right)')
Calcule el índice de similitud de dados para cada región segmentada.
similarity = dice(L, L_groundTruth)
similarity = 3×1
0.9396
0.7247
0.9139
El índice de similitud de dice es notablemente más pequeño para la segunda región. Este resultado es consistente con la comparación visual de los resultados de segmentación, que clasifica erróneamente la suciedad en la esquina inferior derecha de la imagen como hojas.
BW1
— Primera imagen binariaPrimera imagen binaria, especificada como una matriz lógica de cualquier dimensión.
Tipos de datos: logical
BW2
— Segunda imagen binariaSegunda imagen binaria, especificada como una matriz lógica del mismo tamaño que.BW1
Tipos de datos: logical
L1
— Primera imagen de etiquetaPrimera imagen de etiqueta, especificada como una matriz de enteros no negativos, de cualquier dimensión.
Tipos de datos: double
L2
— La segunda imagen de etiquetaSegunda imagen de etiqueta, especificada como una matriz de enteros no negativos, del mismo tamaño que.L1
Tipos de datos: double
C1
— Primera imagen categóricacategorical
Primera imagen categórica, especificada como una matriz de cualquier dimensión.categorical
Tipos de datos: category
C2
— Segunda imagen categóricacategorical
Segunda imagen categórica, especificada como una matriz del mismo tamaño que.categorical
C1
Tipos de datos: category
similarity
— Coeficiente de similitud de dadosCoeficiente de similitud de dados, devuelto como un vector escalar numérico o numérico con valores en el intervalo [0,1]. A de 1 significa que las segmentaciones en las dos imágenes son una coincidencia perfecta.similarity
Si las matrices de entrada son:
imágenes binarias, es un escalar.similarity
imágenes de etiqueta, es un vector, donde el primer coeficiente es el índice de dados para la etiqueta 1, el segundo coeficiente es el índice de dados para la etiqueta 2, y así sucesivamente.similarity
imágenes categóricas, es un vector, donde el primer coeficiente es el índice de dados para la primera categoría, el segundo coeficiente es el índice de dados para la segunda categoría, y así sucesivamente.similarity
Tipos de datos: double
El coeficiente de similitud de los dados de dos sets y se expresa como:AB
dice
(A,B) =
2 * |
intersection
(A,B)
| / ( | A | + | B | )
donde | | representa el cardenal del set.AA El índice de dados también se puede expresar en términos de verdaderos positivos (), falsos positivos () y falsos negativos () como:TPFPFN
dice
(A,B) =
2 * TP / ( 2 * TP +
FP + FN)
El índice dice está relacionado con el índice Jaccard de acuerdo con:
dice
(A,B) =
2 * jaccard
(A,B) /
(1 + jaccard
(A,B)
)
A modified version of this example exists on your system. Do you want to open this version instead? (es)
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.