Réponse acceptée

darova
darova le 19 Mai 2019

0 votes

If you have only circle on the image like below
img.png
clc,clear
I = imread('img.png');
I1 = im2bw(I,graythresh(I)); % binarize image (0,1)
[row, col] = find(I1); % find white pixels (1 value)
ix = round( mean(col) ); % mean column
iy = round( mean(row) ); % mean row
imshow(I1)
hold on
plot(ix,iy,'or')
text(ix+10,iy+10,'CircleCenter')
hold off

4 commentaires

JoBrr
JoBrr le 20 Mai 2019
Thanks mate, it works, appreciate it a lot. I get a figure window with the image and a circle in the centre.
But do know know how I may display this info in the command window when the script is executed.
Also is the value of the centre in pixels? @darova
darova
darova le 20 Mai 2019
You can use disp() or:
% \n - next line (break line)
% %i - insert integer value
sprintf('center coordinates of a circle:\nrow = %i; column = %i;', iy, ix)
And Yes, values are in pixels
JoBrr
JoBrr le 21 Mai 2019
Thank you @darova much appreciated!!
darova
darova le 21 Mai 2019

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Convert Image Type dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by