Я работаю над разработкой системы CBIR, где я использую гистограмму HSV в качестве одной из моих функций. Для каждого изображения я хочу вычислить гистограмму, которая говорит n1 бункеров для оттенка, n2 для насыщения и n3 для значения. Я хочу вектор, который будет иметь размерность n1xn2xn3, имеющую все возможные комбинации этих бункеров. например: если я беру кортежи (8, 12, 3) для оттенков, насыщенности и значения соответственно, тогда я хочу вычислить вектор размером 8x12x3 = 288. В openCV у нас есть функция calcHist()
, но я не смог найти аналогичную функцию в matlab. вот что я сделал3D гистограмма изображения HSV в Matlab, с разным номером. бункеров для каждого канала?
%roi1 is my region of interest, y1 is the vector
y1=[imhist(roi1(:,:,1),8)' imhist(roi1(:,:,2),12)' imhist(roi1(:,:,3),3)'];
но y1 будет 23 мерным, а не желаемые 288 одномерными. Пожалуйста, помогите мне в этом, если есть функция, похожая на calcHist()
openCV, тогда предложите мне это.
Почему бы не использовать 2D или 3D [гистограмму HSV] (http://stackoverflow.com/a/29286584/2521214) напрямую? – Spektre