MATLAB: How to know the size and the pixel coordinates when drawing a bounding box on an image

image processingImage Processing Toolbox

  • I am drawing bounding boxes on objects which are far and close to the camera in an image.
  • Object close to camera is larger in size and object farther from camera is smaller in size.
  • I will then train an object detector using these ground truthed data as positive data.
  • How can know the pixel coordinates and the size of a bounding box so i can train the detector differently for objects closer (larger bounding box) and farther from camera (smaller bounding box).
Thanks a lot!

Best Answer

The pixel coordinates and width and height of the bounding box(es) are returned from regionprops(). First you segment your objects to get a binary image of where your objects are, then label your binary image and send it in to regionprops() asking for the bounding box.
labeledImage = bwlabel(binaryImage);
props = regionprops(labeledImage, 'BoundingBox');
props is a structure array. Each structure in the array has a field called Bounding Box that contains an array, [leftColumn, topRow, width, height], with units of pixels.
See my Image Segmentation Tutorial for a full demo. http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862