diff --git a/openbr/plugins/hist.cpp b/openbr/plugins/hist.cpp index b3efd8b..d13fdee 100644 --- a/openbr/plugins/hist.cpp +++ b/openbr/plugins/hist.cpp @@ -52,8 +52,12 @@ class HistTransform : public UntrainableTransform int histSize[] = {dims}; float range[] = {min, max}; const float* ranges[] = {range}; - Mat hist; - calcHist(&mv[i], 1, channels, Mat(), hist, 1, histSize, ranges); + Mat hist, chan = mv[i]; + // calcHist requires F or U, might as well convert just in case + if (mv[i].depth() != CV_8U || mv[i].depth() == CV_32F) + mv[i].convertTo(chan, CV_32FC1); +// qDebug("clust r %i c %i ch %i", chan.rows, chan.cols, chan.channels()); + calcHist(&chan, 1, channels, Mat(), hist, 1, histSize, ranges); memcpy(m.ptr(i), hist.ptr(), dims * sizeof(float)); }