draw bounding box around a character

The code i used is
Ch = bw(boundrow(1):boundrow(end),boundcol(1):boundcol(end));
i'll get the character into the variable Ch
how can i draw a bounding box in the image

 Risposta accettata

Presumably you used regionprops()
props = regionprops(binaryImage, 'BoundingBox');
% Plot all the bounding boxes.
hold on;
for k = 1 : length(props)
rectangle('Position', props(k).BoundingBox, 'EdgeColor', 'y');
end

3 Commenti

sir when i use the below code line, i get a cropped character and i can write it to a folder as an image
Ch = bw(boundrow(1):boundrow(end),boundcol(1):boundcol(end));
but when i use, the below code, i dont get the boxes correctly in the character
props = regionprops(binaryImage, 'BoundingBox');
I would not do it that way, but if you insist, after you get Ch you can put a box around the rectangle in the original image like this:
line([boundcol(1), boundcol(end)], [boundrow(1), boundrow(1), 'Color', 'y', 'LineWidth', 2);
line([boundcol(1), boundcol(end)], [boundrow(end), boundrow(end), 'Color', 'y', 'LineWidth', 2);
line([boundcol(1), boundcol(1)], [boundrow(1), boundrow(end), 'Color', 'y', 'LineWidth', 2);
line([boundcol(end), boundcol(end)], [boundrow(1), boundrow(end), 'Color', 'y', 'LineWidth', 2);
or
% Make rect = [xLeft, yTop, width, height]
r = [boundcol(1), boundrow(1), abs(boundcol(end) - boundcol(1)), abs(boundrow(end) - boundrow(1))];
rectangle('Position', r, 'EdgeColor', 'y', 'LineWidth', 2);
Thank you Sir. The last comment worked. Its working in both methods

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Images in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by