Clear Filters
Clear Filters

Grouping similar pixels in bins

3 views (last 30 days)
Can someone tell me how do I divide the pixels in an image into let's say 16 bins? For example we have a grayscale image [0-255], I want all the pixels between 0-15 to be let's say in group 1, 16-31 in group 2 and so on. Importantly, I want to have the location of the pixels in each group like I should know let's say what is the location of pixels in i-th group. I can write a for loop but I need to know if there's a function that does that.
Thanks in advance.

Accepted Answer

Guillaume on 19 Jul 2016
binnedimage = imquantize(grayimage, 15:16:255) %16 bins of size 16.
You can then use find to get the location in each group:
binpixels = arrayfun(@(val) find(binnedimage == val), 1:16, 'UniformOutput', false) %using linear indices

More Answers (0)


Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!