所以我有CT扫描图像。我想显示升主动脉和降主动脉,但没有别的。我有大部分代码都工作,唯一不能得到的是当它循环遍历标签列表时,它不会保持升序到图形,所以我只是以降序结束或者可能使更有意义的是,它只显示一个对象,它应该显示2.
%% set boundaries and get areas
%set boundaries and label objects
[B,L] = bwboundaries(AAB,'noholes');
%get the Filled Area of these objects
area = regionprops(L,'FilledArea');
%% display objects based on area
figure;
for k=1:size(area)
if (area(k).FilledArea > 1500)
imshow(L==(k));
hold on;
end
end
我检查了区域值,1500是显示两者的合适数量。
AAB是我从原始扫描中创建的二进制图像。
提前感谢您提供任何帮助
答案 0 :(得分:1)
imshow
不支持持有,就像情节一样。所以它只是打印在上一张图像上。
如果您只有两张图片,则可以使用imshowpair
代替。或者为每个标签指定不同的颜色。
或做类似的事情:
mask=zeros(size(L));
figure;
for k=1:size(area)
if (area(k).FilledArea > 1500)
mask=mask+(L==(k));
end
end
imshow(mask>0);