I want to hide the circles and only plot centroids with "+" sign

조회 수: 1 (최근 30일)
MashalS
MashalS 2021년 9월 2일
답변: Image Analyst 2021년 9월 5일
I have attached the images and m file

답변 (2개)

darova
darova 2021년 9월 5일
  • binarize
  • use regionprops

Image Analyst
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]);

카테고리

Help CenterFile Exchange에서 Image Segmentation and Analysis에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by