距质心最远点的坐标

时间:2013-04-17 12:02:22

标签: matlab image-processing

我计算了图像的质心,现在想知道物体边界上距离质心最远点的坐标。

我使用以下代码计算最大距离。

 boundaries = bwboundaries(pad);
thisBoundary = boundaries{1};
boundaryX=thisBoundary(:,1); 
boundaryY=thisBoundary(:,2);
% Get the distances of the boundary pixels from the centroid.
distances= sqrt((boundaryX - a2).^2 + (boundaryY - b2).^2); 
% Scan the boundary to find the pixel on it that is
% farthest from the centroid.
maxRadius = max(distances);
 disp(maxRadius);

如果有人知道如何从质心计算物体边界上最远点的坐标。最远点与质心的距离在上面计算为maxRadius。这里a2,b2是对象'pad'的质心坐标。

1 个答案:

答案 0 :(得分:3)

在这里,您似乎在问“我如何找到哪个输入值max已选择为最大值”。您需要使用max的第二个输出参数。对于您的具体情况,这给出了类似的内容:

[maxRadius, maxInd] = max(distances);
maxCoord = thisBoundary(maxInd, :);

请阅读the max function's documentation。请在下次提出你要问的确切问题。