如何在matlab中获取图像的每个连接组件的起始位置
how to get starting position of every connected component of an image in matlab
我正在使用 "bwconncomp" 方法来获取此图像的连接组件。
有四个 由红色框包围的连通分量 并且 每个连通分量的每个起点 都 用黄色点标记 。那个黄色点的坐标是(x , y) ,它只针对左起第一个分量。在左侧的第一个连通分量(现在是单独的图像)处,您会看到一个 蓝色点,它是该特定连通分量的重心 。我可以很容易地将 蓝点坐标计算为 (x1 , y1)。如果我想计算该重心相对于整个图像的位置,则坐标将为 (x+x1, y+y1)。我的问题是如何在 matlab 中获取 (x , y) 坐标?**完整的功能代码会更有帮助,因为我不是 matlab 专家。
主图在这里
matlab 最棒的地方之一就是 regionprops
函数。它允许您将图像(黑白、连通分量或标记图像)交给它,它将 return 一个 stats
对象,其中包含有关图像中每个连通分量的大量信息。
您可以通过告诉 属性 您想要的信息来限制 return 编辑的信息(并因此进行计算,这可以节省时间)。要获得边界框(听起来像你想要的),你会说
stats = regionprops(Image,'boundingbox');
然后,stats.BoundingBox
包含一个数组 [x_position y_position width height]
。
希望这能为您指明正确的方向,并尝试 regionprops(Image,'all')
以查看您可以从图像中获得的所有信息。
我正在使用 "bwconncomp" 方法来获取此图像的连接组件。
主图在这里
matlab 最棒的地方之一就是 regionprops
函数。它允许您将图像(黑白、连通分量或标记图像)交给它,它将 return 一个 stats
对象,其中包含有关图像中每个连通分量的大量信息。
您可以通过告诉 属性 您想要的信息来限制 return 编辑的信息(并因此进行计算,这可以节省时间)。要获得边界框(听起来像你想要的),你会说
stats = regionprops(Image,'boundingbox');
然后,stats.BoundingBox
包含一个数组 [x_position y_position width height]
。
希望这能为您指明正确的方向,并尝试 regionprops(Image,'all')
以查看您可以从图像中获得的所有信息。