jaccard

文章目录


雅卡德相似系数用于图像分割

Syntax

similarity = jaccard(BW1,BW2)
similarity = jaccard(L1,L2)
similarity = jaccard(C1,C2)

Description

similarity = jaccard(BW1,BW2)计算二进制图像BW1和BW2的交集除以BW1和BW2的并集,也称为Jaccard索引。 图像可以是二进制图像,标签图像或分类图像。

similarity = jaccard(L1,L2)为标签图像L1和L2中的每个标签计算Jaccard索引。

similarity = jaccard(C1,C2)为分类图像C1和C2中的每个类别计算Jaccard索引。

Examples

计算Jaccard相似度系数进行二进制分割

clear all
close all
clc
%读取包含要分割的对象的图像。 将图像转换为灰度,然后显示结果。
A = imread('hands1.jpg');
I = rgb2gray(A);
figure
imshow(I)
title('Original Image')
%使用活动轮廓(蛇形)方法分割手
mask = false(size(I));
mask(25:end-25,25:end-25) = true;
BW = activecontour(I, mask, 300);
%阅读与该细分进行比较的基本事实。
BW_groundTruth = imread('hands1-mask.png');
%计算此细分的Jaccard索引。
similarity = jaccard(BW, BW_groundTruth);
%将遮罩彼此重叠显示。 颜色表示蒙版的差异。
figure
imshowpair(BW, BW_groundTruth)
title(['Jaccard Index = ' num2str(similarity)])

在这里插入图片描述
在这里插入图片描述
用于多区域分割的Jaccard相似系数计算
此示例演示如何将图像分割为多个区域。然后,该示例计算每个区域的Jaccard相似系数。

clear all
close all
clc
RGB = imread('yellowlily.jpg');
%创建三个区域的涂鸦,以区分其典型的颜色特征。第一个区域对黄花进行分类。第二个区域对绿色茎和叶进行分类。
%最后一个区域将棕色污垢划分为两个单独的图像块。区域由4元素向量指定,其元素表示ROI左上角的x和y坐标、ROI的宽度和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;
%在图像顶部显示种子区域。
figure
imshow(RGB)
hold on
visboundaries(BW1,'Color','r');
visboundaries(BW2,'Color','g');
visboundaries(BW3,'Color','b');
title('Seed Regions')
%使用基于测地距离的颜色分割将图像分为三个区域。
L = imseggeodesic(RGB,BW1,BW2,BW3,'AdaptiveChannelWeighting',true);
%加载图像的地面真实分割。
L_groundTruth = double(imread('yellowlily-segmented.png'));
%在视觉上将分割结果与基本事实进行比较。
figure
imshowpair(label2rgb(L),label2rgb(L_groundTruth),'montage')
title('Comparison of Segmentation Results (Left) and Ground Truth (Right)')
%计算每个分段区域的Jaccard相似性指数(IoU)。
similarity = jaccard(L, L_groundTruth)
%对于第二区域,Jaccard相似性指数明显较小。 该结果与分割结果的视觉比较一致,该结果将图像右下角的污垢错误地分类为叶子。

在这里插入图片描述
在这里插入图片描述

similarity = 3×1

    0.8861
    0.5683
    0.8414

猜你喜欢

转载自blog.csdn.net/qq_34562355/article/details/109270985