How to get coordinates of shapes in image?

4 views (last 30 days)
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
Image Analyst
Image Analyst on 30 Nov 2020
Each shape has lots of coordinates. Do you want them all? If so, why? Or do you just want the centroids?
Check out the Color Thresholder on the Apps tab of the tool ribbon.
Check out my Image Segmentation Tutorial and color segmentation tutorials in my File Exchange:
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!