1D гистограмма opencv с двойными значениями - PullRequest
0 голосов
/ 22 ноября 2011

Я пытаюсь создать гистограмму, используя opencv.У меня есть изображение (32 бита), полученное в результате операции размытия, поэтому я просто знаю, что значения находятся в диапазоне [-0,5;0.5], но я ничего не знаю о начальных данных.

проблема в том, что я не понимаю, как установить параметры для вычисления такой гистограммы.код, который я написал:

int numbins=1000;
float range[]={-0.5, 0.5};
float *ranges[]={range};
CvHistogram *hist=cvCreateHist(1, &numbins, CV_HIST_ARRAY, ranges, 1);
cvCalcHist(&img, hist);

, где img - это изображение, которое я хочу получить гистограмму.если я пытаюсь напечатать гистограмму, я просто получаю черную картинку, а с той же функцией я получаю правильную гистограмму, если использую 8-битное изображение в оттенках серого.

1 Ответ

1 голос
/ 23 ноября 2011

Вы смотрели на пример calcHist ?Кроме того, camshiftdemo интенсивно использует гистограммы.

Вы нормализуете вывод гистограммы с помощью normalize перед отображением (camshiftdemo показывает, как это сделать)?Значения около 0 будут отображаться черным цветом при отображении, но при нормализации между, скажем, 0 и 255 будут хорошо отображаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...