Use*_*234 5 matlab matlab-figure
我一直在尝试在Matlab中填充二进制图像,以使剩下的整个椭圆形图像都像这样。

但是,实际上在定义红色区域时遇到了一个问题。我尝试了以下方法:
bwconvhull函数准确填充形状,但是我不知道如何摆脱内部形状而仅隔离红色区域。bwtraceboundary函数仅遵循整个边界(在头骨的内部和外部)。bwconvhull是否有任何类似的功能,我可以从中心向外扩展区域?我的主要困难在于隔离(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);
Run Code Online (Sandbox Code Playgroud)
问题(b)-仅隔离中心
hole=imread('Copy CT.jpg');
BW=im2bw(hole,.9);
CH=bwconvhull(BW);
KH=CH-BW;
KH2=bwareaopen(KH,200);
Run Code Online (Sandbox Code Playgroud)
是否有任何值得尝试的特定功能,或者还有另一种方法可以隔离圆心,因此我只能突出显示红色区域?任何见解将不胜感激!
我将通过以下步骤来解决这个问题:
很抱歉,我没有实际的代码来支持这种方法,但这将使您非常接近。您可能需要更多步骤来清理最终结果。