How can I extract characters from a binary image when I have its centroid?
Afficher commentaires plus anciens
I = imread('download5.png');
J = rgb2gray(I);
K = bwareaopen(J,10,8);
h1 = fspecial('gaussian', 3, 1);
h2 = fspecial('average', 2);
g = imfilter(K,h1, 'replicate');
g1 = imfilter(g,h2, 'replicate');
g1 = ~g1;
g1 = bwmorph(g1,'clean');
g1 = bwmorph(g1,'bridge',Inf);
g1 = imdilate(g1, [1 1 1; 1 1 1; 1 1 1]);
[B, L, N, A] = bwboundaries(g1, 'holes');
s = regionprops(L,'all');
imshow(g1)
hold on
for k = 1:length(B)
boundary = B{k};
if k <= N
plot(boundary(:,2), boundary(:,1))
end
end
centroids = cat(1, s.Centroid);
plot(centroids(:,1),centroids(:,2), 'b*')

In the above image, I am getting extra centroids apart from that of the characters. How can I eliminate the unwanted centroids and extract only the characters using centroids? (Extract meaning that I want to save each character separately as an image)
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Image Segmentation and Analysis 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!