Histogram within Minimum Bounding Box
Show older comments
How do I calculate the histogram within a minimum bounding box, along the orientation of the rectangle? Let say I have the coordinates of the four corners.

Accepted Answer
More Answers (1)
Image Analyst
on 11 Jul 2015
If you've gotten the vertices of the ROI, say using John D'Errico's excellent bounding object app, then you can simply use poly2mask to create a binary image and then call imhist():
[rows, columns, numberOfColorChannels] = size(grayImage);
rectMask = poly2mask(xVertices, yVertices, rows, columns);
[pixelCounts, grayLevels] = imhist(grayImage(rectMask));
grayImage(rectMask) gives a 1D list of only those pixels inside your ROI (the tilted rectangle). Of course you'll have some pixels in the black part of your binary image included along with the pixels inside the irregularly-shaped white blob because it's everything inside the rectangle, not just stuff inside the white blob.
Categories
Find more on Region and Image Properties in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!