# how to plot histogram of hue value in polar ?

8 views (last 30 days)
SAM on 11 Nov 2013
Edited: Abdoo on 18 Jun 2015 Hi
i wants to plot a histogram of hue values in polar . in my 1st image i have plotted histogram of hue values . and now i would like to plot it on polar as shown in figure 2.

Image Analyst on 12 Nov 2013
I just adapted Doug's code to use a sample image and I got this: See code attached below in blue text.
##### 2 CommentsShowHide 1 older comment
Image Analyst on 12 Nov 2013
And Doug - he did most of the work.

Doug Hull on 11 Nov 2013
Edited: Doug Hull on 11 Nov 2013 clear
clc
clf
z = peaks(300);
r = z(:,150);
r = r-min(r);
r = r/max(r);
n = numel(r)
cmap = jet(n)
drawWheel(r*0.8,cmap)
Save this file first though:
function drawWheel(r, cmap)
if (any(r > 1) | any(r < 0))
error('R must be a vector of values between 0 and 1')
end
if numel(r) ~= size(cmap,1)
error('Length of r and cmap must be the same')
end
n = numel(r);
angles = linspace(0,2*pi,n+1);
for i = 1:n;
drawSpoke(newR(i) , innerRadius, angles(i), angles(i+1), cmap(i,:))
end
line(0,0,'marker','o')
axis equal
function h = drawSpoke(ri,ro,thetaStart,thetaEnd,c)
xInnerLeft = cos(thetaStart) * ri;
xInnerRight = cos(thetaEnd) * ri;
xOuterLeft = cos(thetaStart) * ro;
xOuterRight = cos(thetaEnd) * ro;
yInnerLeft = sin(thetaStart) * ri;
yInnerRight = sin(thetaEnd) * ri;
yOuterLeft = sin(thetaStart) * ro;
yOuterRight = sin(thetaEnd) * ro;
X = [xInnerLeft, xInnerRight, xOuterRight xOuterLeft];
Y = [yInnerLeft, yInnerRight, yOuterRight yOuterLeft];
h = patch(X,Y,c);
set(h,'edgeColor', 'none')
SAM on 12 Nov 2013
Dear Doug Hull
thanks for your answer but i want my histogram should come in the circle.
clc
close all
clear all
ima1=rgb2hsv(ima);
ima2=ima1(:,:,1);
imhist(ima2);
polar((imhist(ima2)));
but it not giving me the desired output. i am not bother about that hsv wheel but i want my polar should show the hue value of histogram as show in inside of the wheel.

Abdoo on 18 Jun 2015
Edited: Abdoo on 18 Jun 2015
This small example to compere between three plots Hue from images and save the data in excel file. 