How to find the center of 4 points on an image?
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Milad Zarei
 el 14 de Abr. de 2020
  
    
    
    
    
    Comentada: Ameer Hamza
      
      
 el 16 de Abr. de 2020
            I have an image of the foot that was devided into different cells. I need to find the center of each cell. I was wondering if the best way to do so is to pick the 4 points on the vertices of the cell and let Matlab find the center?
Attache is the image. Let me know if you have any ideas. Thanks.

2 comentarios
Respuesta aceptada
  Ameer Hamza
      
      
 el 15 de Abr. de 2020
        
      Editada: Ameer Hamza
      
      
 el 15 de Abr. de 2020
  
      try this code. It requires functions from image preocessing toolbox.
im = im2double(imread('image.jpeg'));
%% remove red text
im_gray = rgb2gray(im);
im_gray(~(im_gray < 0.2)) = 1;
im_gray = double(imbinarize(im_gray));
%% find the polygons
regions = bwconncomp(im_gray);
pxlList = regions.PixelIdxList;
outlier = isoutlier(cellfun(@(x) numel(x), pxlList));
pxlList(outlier) = [];
%% find centers
centers = zeros(numel(pxlList), 2);
for i=1:numel(pxlList)
    im_zeros = zeros(size(im_gray));
    im_zeros(pxlList{i}) = 1;
    rp = regionprops(im_zeros);
    centers(i, :) = rp.Centroid;
end
%%
imshow(im);
hold on
plot(centers(:,1), centers(:,2), 'r+', 'LineWidth', 2, 'MarkerSize', 10);

8 comentarios
  Ameer Hamza
      
      
 el 16 de Abr. de 2020
				I am glad to be of help. 
Yes, It finds centers in pixel coordinates. You can convert it to mm according to your scale.
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





