how center of mass of an image is calculated
21 views (last 30 days)
Show older comments
sir, do you have any matlab code for finding center of mass of an image.
0 Comments
Accepted Answer
Image Analyst
on 4 Jun 2014
Edited: Image Analyst
on 5 Jun 2014
Probably the easiest is to use regionprops(). Something like (untested)
binaryImage = true(size(grayImage));
labeledImage = bwlabel(binaryImage);
measurements = regionprops(labeledImage, grayImage, 'WeightedCentroid');
centerOfMass = measurements.WeightedCentroid;
5 Comments
Walter Roberson
on 1 Feb 2017
Raghu Rao, it is not possible to do that completely automatically. "foreground" and "background" depend on intent. For example there are telescopes that study the Sun. For most purposes the Sun is the foreground in those images. However exactly the same images are also studied to detect solar comets, and to study those you have to block out the Sun and your foreground becomes everything else. A program cannot possibly know whether you intend to look at the Sun in the image or if you intend to look at the comets in the same image.
Therefore you need to define the characteristics you want your program to look for and write the program to match those.
Image Analyst
on 1 Feb 2017
The original poster, Raj, didn't have a foreground and background. He asked about the entire image. If you have a foreground and background Raghu, I suggest you look at my Image Processing Tutorial: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862 If you're lucky, you can get them from simple thresholding. Otherwise you might need to do some preprocessing steps in order to get to a point where you can do thresholding. It all depends on what your image looks like. If you still need help, read this link and post your ENTIRE error message in a new discussion thread just for you.
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!