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

2 次查看(过去 30 天)
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

采纳的回答

Image Analyst
Image Analyst 2017-5-1
Loop over all boxes, calling imcrop() while passing it the rectangle (xLeft, yTop, width, height] for the box.
  2 个评论
oza san
oza san 2017-5-2
编辑:oza san 2017-5-2
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 2017-5-2
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().

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Import, Export, and Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by