How to find the center co-ordinates of different regions
    4 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Tania
 am 11 Mai 2015
  
    
    
    
    
    Kommentiert: Tania
 am 11 Mai 2015
            Hi there,
Can anyone assist me how to find the center co-ordinates automatically and save the co-ordinate (x and y position) values in an array automatically? The shapes are different for the regions but each region has same pixel value.
Please have a look at my image and guide me how to find the center co-ordinates of each region and save them in an array automatically without using manual operation.
Any help will be highly appreciated.

0 Kommentare
Akzeptierte Antwort
  Image Analyst
      
      
 am 11 Mai 2015
        
      Bearbeitet: Image Analyst
      
      
 am 11 Mai 2015
  
      I thought you'd seen it before, but I guess not. See my image segmentation tutorial in my File Exchange http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
Basically it's something like
grayImage = rgb2gray(rgbImage);
[labeledImage, numberOfBlobs] = bwlabel(grayImage ~= 0);
measurements = regionprops(labeledImage, 'Centroid');
allCentroids = [measurements.Centroid];
xCentroids = allCentroids(1:2:end);
yCentroids = allCentroids(2:2:end);
7 Kommentare
  Image Analyst
      
      
 am 11 Mai 2015
				If you want to treat the black background as its own object, then you'll have to do that separately (well, that's the simplest and most straightforward way).
grayImage = rgb2gray(rgbImage);
[labeledImage, numberOfBlobs] = bwlabel(grayImage == 0);
measurements = regionprops(labeledImage, 'Centroid');
allCentroids = [measurements.Centroid];
xCentroids = allCentroids(1:2:end);
yCentroids = allCentroids(2:2:end);
Note the == 0 instead of ~= 0 so that we pick up only pure black pixels.
Weitere Antworten (0)
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

