我有形象'我'和' J'在matlab中,两个都是相同的维度。 使用bwconncomp,我获得了I和J中的blob。我有绿色,J有红色blob。
现在,一些blob重叠(我知道这一点)。我想找到:
哪些blob重叠(找到所有对' i' j'它们指向我的第一个blo,第一个blob J)
每个i-j对的重叠区域(以像素为单位)是什么?
答案 0 :(得分:0)
注意 - green_blob_data
和red_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