How do I know the length from the center of the object to the vertical axis edge and the horizontal axis edge?

1 回表示 (過去 30 日間)
Here's a picture of the pill, you can see that it's not a circle. I want to know the length from the center to the vertical axis edge and the horizontal axis edge

回答 (1 件)

Bora Eryilmaz
Bora Eryilmaz 2023 年 1 月 31 日
You can do something along these lines, where the location of the centroids seems like what you want:
I = imread('image.jpeg');
Ibw = im2bw(I);
Ilabel = bwlabel(Ibw);
stat = regionprops(Ilabel,'centroid');
imshow(I);
hold on;
for i = 1:numel(stat)
plot(stat(i).Centroid(1), stat(i).Centroid(2), 'ro');
stat(i)
end
ans = struct with fields:
Centroid: [961.5471 479.7054]
ans = struct with fields:
Centroid: [956.8800 409.4163]
ans = struct with fields:
Centroid: [951 63]
ans = struct with fields:
Centroid: [997 448]
  1 件のコメント
Image Analyst
Image Analyst 2023 年 1 月 31 日
Or
xyCentroids = vertcat(stats); % N by 2 array. x in column 1, y in column 2
% Or if you want them in separate vectors:
xCentroids = xyCentroids(:, 1);
yCentroids = xyCentroids(:, 2);

サインインしてコメントする。

製品


リリース

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by