How to get coordinates of shapes in image?

7 views (last 30 days)
Fabian Lisowski
Fabian Lisowski on 30 Nov 2020
Answered: Shubham Rawat on 4 Dec 2020
Hello,
I have an image with three different shapes on it and need to get the coordinates of the middle of each shape. I would be grateful for help in solving the problem.
Thanks a lot!
The Image is in the attachment
  3 Comments
Fabian Lisowski
Fabian Lisowski on 30 Nov 2020
I want the coordinates of the center of each shape. The image has a 640x480 resolution. I need the coordinates to control the moves of a 3d crane. The image will be came from a VGA camera on the top of the crane.

Sign in to comment.

Answers (1)

Shubham Rawat
Shubham Rawat on 4 Dec 2020
Hi Fabian,
You may use regionprops function to calculate the centroid of each shape. Here is the link to the documentation:
For this particular figure i have created a demo code. You may also look into that and take some help:
a = imread('punkty.jpg'); %reading image
I = rgb2gray(a); %change image into grayscale
bw = I < 100; %change image into Black and White
stats = regionprops(bw,'Centroid'); %resulting Centroid of each image
%to show the image with centroids
imshow(bw)
hold on
plot(centers(:,1),centers(:,2),'b*')
hold off
Hope this helps!

Community Treasure Hunt

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

Start Hunting!