- binarize
- use regionprops
I want to hide the circles and only plot centroids with "+" sign
조회 수: 1 (최근 30일)
이전 댓글 표시
I have attached the images and m file
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/727864/image.jpeg)
댓글 수: 0
답변 (2개)
Image Analyst
2021년 9월 5일
Try this:
baseFileName = 'circle1.JPG';
fullFileName = fullfile(pwd, baseFileName);
rgbImage=imread(fullFileName);
[rows, columns, numberOfColorChannels] = size(rgbImage);
subplot(2, 1, 1);
imshow(rgbImage);
axis('on', 'image');
blueChannel = rgbImage(:, :, 3);
% imshow(blueChannel);
% Binarize
mask = ~imbinarize(blueChannel);
% Find centroid(s)
props = regionprops(mask, 'Centroid');
xy = vertcat(props.Centroid)
xCenter = xy(:, 1)
yCenter = xy(:, 2)
hold on
plot(xCenter, yCenter, 'b+', 'MarkerSize', 60, 'LineWidth', 3);
% Now show an image where the circle(s) is/are hidden
% and only the centroid(s) is shown, like the poster wanted.
subplot(2, 1, 2);
plot(xCenter, yCenter, 'b+', 'MarkerSize', 60, 'LineWidth', 3);
axis('on', 'ij'); % Flip axes vertically.
xlim([1, columns]);
ylim([1, rows]);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/730064/image.png)
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Image Segmentation and Analysis에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!