2013-08-02 3 views

Répondre

0

Aucun problème. Avoir ce petit script:

img = imread('rice.png'); 
bg = imopen(img,strel('disk',15)); 
img2 = img - bg; 

mask = im2bw(img2, 0.19); 
mask = bwareaopen(mask, 40); 

cc = bwconncomp(mask, 4); 
positionArray = regionprops(cc, {'Centroid'}); 
positionArray = struct2cell(positionArray); 
positionArray = cellfun(@transpose, positionArray, 'UniformOutput',false); 
positionArray = cell2mat(positionArray); 

imshow(img); 
hold on; 
scatter(positionArray(1, :), positionArray(2, :), 200, 'g+'); 

Vous pouvez modifier la taille et la forme comme vous le souhaitez. Les points dans ce cas sont stockés sous la forme d'une matrice 2 par n avec des coordonnées x dans la première ligne et y dans la seconde. D'abord, l'image elle-même est tracée en utilisant imshow. Ensuite, scatter() est appelé. Pour mettre les deux objets sur le même jeu d'axes, vous devez appeler le maintien.

+0

Merci beaucoup. C'était exactement ce que je cherchais. – vig

Questions connexes