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

15 views (last 30 days)
shalaw faraj
shalaw faraj on 10 Feb 2020
Commented: shalaw faraj on 25 Mar 2020 at 18:06
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

  0 Comments

Sign in to comment.

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

Show 9 older comments
shalaw faraj
shalaw faraj on 25 Mar 2020 at 18:06
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.

Sign in to answer this question.