how to process images with different sizes for classification?
2 次查看(过去 30 天)
显示 更早的评论
I've the following code for the image size (row = 320; col = 240;)
But i'm having images with variable sizes (116x110),(134x125), which need to be processed
function y = bounding_box(img)
[row col] = size(img);
top = 0;
bottom = 0;
left = 0;
right = 0;
for i = 1:row
if sum(img(i,:)) > 0
top = i;
break
end
end
for i = row:(-1):1
if sum(img(i,:)) > 0
bottom = i;
break
end
end
for i = 1:col
if sum(img(:,i)) > 0
left = i;
break
end
end
for i = col:(-1):1
if sum(img(:,i)) > 0
right = i;
break
end
end
y = img(top:bottom, left:right);
0 个评论
回答(1 个)
Image Analyst
2016-10-24
Why not simply ask regionprops() to give you the bounding box?
2 个评论
Image Analyst
2016-10-24
How many blobs do you have? And if you have more than 1, do you want the bounding box of each one, or the bounding box of all the individual bounding boxes. In short, it's
labeledImage = bwlabel(binaryImage);
props = regionprops(labeledImage, 'BoundingBox');
props is a structure array with measurements, like bounding box, for each region.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!