how to crop aportion of an image from in bounding box.?

1 Ansicht (letzte 30 Tage)
oza san
oza san am 1 Mai 2017
Kommentiert: Image Analyst am 2 Mai 2017
i use open source code in the link https://www.mathworks.com/help/vision/examples/automatically-detect-and-recognize-text-in-natural-images.html to detect text and finally i get an image like below with more than one bounding box and i need to crop each of the bounding box.i know imcrop with for loop can do this.plaese help me?
textBBoxes = [xmin ymin xmax-xmin+1 ymax-ymin+1];
textBBoxes = [xmin ymin xmax-xmin+1 ymax-ymin+1];
numRegionsInGroup = histcounts(componentIndices);
textBBoxes(numRegionsInGroup == 1, :) = [];
ITextRegion = insertShape(colorImage, 'Rectangle', textBBoxes,'LineWidth',3);
figure imshow(ITextRegion) title('Detected Text')
end

Akzeptierte Antwort

Image Analyst
Image Analyst am 1 Mai 2017
Loop over all boxes, calling imcrop() while passing it the rectangle (xLeft, yTop, width, height] for the box.
  2 Kommentare
oza san
oza san am 2 Mai 2017
Bearbeitet: oza san am 2 Mai 2017
Dear sir thank you for your replay!!!i tried the following but i can not get what i want i end up with errors!!!mind you if you can help me in the code?it works fine when the bounding box is 1.but failed when it is greater than one.about regionprops it accepts binary image and i need it to do on color images. if true
for K = 1 : length(textBBoxes)
figure
text = imcrop(colorImage, textBBoxes);
imshow(text)
end
end
Image Analyst
Image Analyst am 2 Mai 2017
text() is a built-in function - don't use that. Also textBBoxes should be an N by 4 array of doubles, not text. Finally, you need to have the K index with textBBoxes when you send it into imcrop().

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Image Processing and Computer Vision finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by