我一直试图在Matlab中填写一个二值图像,这样我就可以得到像这样的椭圆形图像的完整部分。
然而,我在实际能够定义红色区域时遇到了一个问题。我尝试了以下几点:
bwconvhull
函数来精确地填充形状,但是我不知道如何去除内部形状来隔离红色区域。bwtraceboundary
函数只是遵循整个边界(在头骨内外)。是否有类似的功能,我可以从中心向外扩展一个区域?我的主要困难是隔离(a)头骨的内部边界,或(b)大脑应该位于的内部“黑色”区域。我的编码尝试可以在下面找到:
问题(a) -追踪边界
hole=imread('Copy CT.jpg');
BW=im2bw(hole,.9);
dim=size(BW);
col=round(dim(2)/2);
row=min(find(BW(:,col)));
boundary = bwtraceboundary(BW,[row,col],'S');
x=boundary(:,2);
y=boundary(:,1);
问题(b) -只隔离中心
hole=imread('Copy CT.jpg');
BW=im2bw(hole,.9);
CH=bwconvhull(BW);
KH=CH-BW;
KH2=bwareaopen(KH,200);
是否有什么特殊的函数值得尝试,或者是否有另一种方法来隔离圆心,这样我只能高亮显示红色区域?任何洞察力都将不胜感激!
发布于 2019-03-29 11:37:04
我将通过以下步骤来处理这一问题:
很抱歉,我没有实际的代码来支持这种方法,但这将使您非常接近。您可能需要更多的步骤来清理最终结果。
https://stackoverflow.com/questions/48756361
复制相似问题