区域生长是一种简单的基于区域的图像分割方法。由于它涉及初始种子点的选择,因此它也被分类为基于像素的图像分割方法。我在matlab中写了以下内容,显然似乎存在无限循环。我想知道实现在哪里失败。>
private static bool IsContainComponents(string[] components, GameObject gameObj)
{
bool contain = false;
return contain;
}
答案 0 :(得分:1)
使用while
循环时,您总是会遇到类似的问题。尝试实现超出范围的条件。或实现一个条件,使您break;
跳出循环。
就像在end %while
之前一样:
if boundaryy.size() >= 1000 && boundaryx.size() >= 1000
break;
end
这可能不是您要搜索的条件,但是直到我设置了可以break;
的条件时,此循环才是无限的。如果查看while
循环的边界条件,您会发现boundaryy.size()>0
始终为true。这导致另一种方法来停止while
循环而没有break;
。
while(boundaryx.size()<1000 &&boundaryy.size()<1000)
...
end
这样,boundaryy.size()
和boundaryx.size()
最终将增加并达到边界条件1000
。
希望这会有所帮助:)