How to find the center co-ordinates of different regions
2 ビュー (過去 30 日間)
古いコメントを表示
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/150007/image.jpeg)
0 件のコメント
採用された回答
Image Analyst
2015 年 5 月 11 日
編集済み: Image Analyst
2015 年 5 月 11 日
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 件のコメント
Image Analyst
2015 年 5 月 11 日
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.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Image Processing Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!