How to calculate distance between center of white pixels in an image?

4 views (last 30 days)
In this iamge, I want to measure the distance between the center of area of white pixels marked below.
As these are not definite shapes, how do I find the center of these and then measure the distance in pixels between their centers.cmm_wo_circles.jpg

Accepted Answer

KSSV
KSSV on 22 Jul 2019
REad about imdistline; this will allow you to calculate the distance between the points interactively. For this you are supposed to have image toolbox.
[y,x] = find(I==1) ; % give the pixel value
The above line, gives you the coordinates/ points of the required pixel. YOu have the points in hand, you can do the process needed.
  2 Comments
Ritwik Dhar
Ritwik Dhar on 22 Jul 2019
Edited: Ritwik Dhar on 22 Jul 2019
Thanks!
imdistline was what I was looking for.
But could there be some way I could directly code the center pixel co-ordinates to the imdistline arguments so that I can use this with large number of images.

Sign in to comment.

More Answers (1)

Teja Muppirala
Teja Muppirala on 22 Jul 2019
You can find the center (centroid) of each white region using REGIONPROPS, and then just calculate the distance between the centers that regionprops returns.

Community Treasure Hunt

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

Start Hunting!