MATLAB Answers

Quantization HSV Space by assigning 8 level each to hue, saturation and value to give a quantized HSV space with 8x8x8=512 histogram bins

26 views (last 30 days)
Hello,
I will try to quantize the HSV color space but I can not, can anyone help me please?
I want to Quantization HSV Space by assigning 8 level each to hue, saturation and value to give a quantized HSV space with 8x8x8=512 histogram bins.
Thanks

Accepted Answer

Subhadeep Koley
Subhadeep Koley on 10 Feb 2020
Edited: Subhadeep Koley on 14 Feb 2020
Here is an example of quantization of the HSV colorspace
clc; close all;
rgbImage = imread('peppers.png');
hsvImage = rgb2hsv(rgbImage);
montage(hsvImage,'Size', [1, 3]); title('Before Quantization'); colorbar;
threshRGB = multithresh(hsvImage, 8);
threshForPlanes = zeros(3, 8);
for i = 1:3
threshForPlanes(i, :) = multithresh(hsvImage(:, :, i), 8);
end
quantPlane = zeros(size(hsvImage));
for i = 1:3
value = [0 threshForPlanes(i, 2:end) 1];
quantPlane(:, :, i) = imquantize(hsvImage(:, :, i), threshForPlanes(i, :), value);
end
quantPlane = double(rescale(quantPlane, 0, 1));
figure; montage(quantPlane, 'Size', [1,3]); title('After Quantization');
colormap(parula(8)); colorbar;
Hope this helps!
  12 Comments
shalaw faraj
shalaw faraj on 25 Mar 2020
Dear @Subhadeep,
According my question I want to quantize the image RGB from 256*256*256 to 4*4*4 which it give 64 bin of histogram can you help me please?
thanks

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!