-1

我已经计算了图像的质心,现在想知道对象边界上离质心最远的点的坐标。

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

 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' 的质心坐标。

4

1 回答 1

3

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

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

请阅读函数max文档。还请下次更清楚地说明您要问的确切问题。

于 2013-04-17T12:11:53.730 回答