Я использую функцию нормализации в приведенном ниже коде. Мое понимание заключалось в том, что нормализация гистограммы приведет к суммированию бункеров в один? Но когда я добавляю их все, я получаю результат выше, чем один. Я не знаю, что я делаю что-то неправильно или неправильно понял, что делает функция?Функция нормализации OpenCV, результат не суммируется с одним
//read in image
Mat img = imread("image.jpg",1);
vector<Mat> planes;
split(img, planes);
//calculate hist
MatND hist;
int nbins = 256; // hold 256 levels
int hsize[] = { nbins }; // one dimension
float range[] = { 0, 255 };
const float *ranges[] = { range };
int chnls[] = {0};
calcHist(&planes[0], 1, chnls, Mat(), hist,1,hsize,ranges);
//normalise
normalize(hist,hist,1);
float tot = 0;
for(int n = 0;n < nbins; n++)
{
float binVal = hist.at<float>(n);
tot+=binVal;
}
cout<<tot;
Я также попытался нормализовать (hist, hist, 0, 1, NORM_MINMAX, -1, Mat()); –