如何在matlab中量化图像中的重叠斑点?

时间:2017-05-17 17:19:51

标签: matlab image-processing overlap

我有形象'我'和' J'在matlab中,两个都是相同的维度。 使用bwconncomp,我获得了I和J中的blob。我有绿色,J有红色blob。

现在,一些blob重叠(我知道这一点)。我想找到:

  1. 哪些blob重叠(找到所有对' i' j'它们指向我的第一个blo,第一个blob J)

  2. 每个i-j对的重叠区域(以像素为单位)是什么?

1 个答案:

答案 0 :(得分:0)

注意 - green_blob_datared_blob_data是分别从图像I和J上的bwconncomp生成的结构。

for i = 1:size(green_blob_data, 1)
    Olap_iblob_area = 0;
    green_ith_blob = [green_blob_data(i).PixelIdxList];
    for j = 1:size(red_blob_data, 1)
       red_jth_blob = [red_blob_data(j).PixelIdxList];
       Olap_ij = intersect(green_ith_blob, red_jth_blob);
       if isempty(Olap_ij) == 1
           Olap_iblob_area = Olap_iblob_area;
       else    
           Olap_iblob_area = Olap_iblob_area + size(Olap_ij, 1);
       end
    end
    green_blob_data(i).OverlapArea = Olap_iblob_area;  %New field created in struct
end