function [hsvHist] = generateHSVHist(hsvVid, numRows, numColumns, numFrames)
H = zeros(12,1);
S = zeros(4,1);
V = zeros(4,1);
for frame = 1 : numFrames
for row = 1 : numRows
for column = 1 : numColumns
h = hsvVid(row,column,1,frame);
s = hsvVid(row,column,2,frame);
v = hsvVid(row,column,3,frame);
idxH = ceil(h*12);
idxS = ceil(s*4);
idxV = ceil(v*4);
%ensure no zero indices
if idxH == 0
idxH = 1;
end
if idxS == 0
idxS = 1;
end
if idxV == 0
idxV = 1;
end
H(idxH) = H(idxH)+1;
S(idxS) = S(idxS)+1;
V(idxV) = V(idxV)+1;
end
end
end
%Normalise the histograms
totalPixels = numFrames * numRows * numColumns;
H = H/totalPixels;
S = S/totalPixels;
V = V/totalPixels;
%Concatenate the histograms
hsvHist = [H;S;V];
end