how center of mass of an image is calculated

19 次查看(过去 30 天)
sir, do you have any matlab code for finding center of mass of an image.

采纳的回答

Image Analyst
Image Analyst 2014-6-4
编辑:Image Analyst 2014-6-5
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 个评论
Walter Roberson
Walter Roberson 2017-2-1
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
Image Analyst 2017-2-1
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.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by