Commit f3357e59608e4a4fae29a3811d2411c54d061dde

Authored by Austin Van Blanton
1 parent dfc7cd72

Convert Mat if invalid type for hist

Showing 1 changed file with 6 additions and 2 deletions
openbr/plugins/hist.cpp
@@ -52,8 +52,12 @@ class HistTransform : public UntrainableTransform @@ -52,8 +52,12 @@ class HistTransform : public UntrainableTransform
52 int histSize[] = {dims}; 52 int histSize[] = {dims};
53 float range[] = {min, max}; 53 float range[] = {min, max};
54 const float* ranges[] = {range}; 54 const float* ranges[] = {range};
55 - Mat hist;  
56 - calcHist(&mv[i], 1, channels, Mat(), hist, 1, histSize, ranges); 55 + Mat hist, chan = mv[i];
  56 + // calcHist requires F or U, might as well convert just in case
  57 + if (mv[i].depth() != CV_8U || mv[i].depth() == CV_32F)
  58 + mv[i].convertTo(chan, CV_32FC1);
  59 +// qDebug("clust r %i c %i ch %i", chan.rows, chan.cols, chan.channels());
  60 + calcHist(&chan, 1, channels, Mat(), hist, 1, histSize, ranges);
57 memcpy(m.ptr(i), hist.ptr(), dims * sizeof(float)); 61 memcpy(m.ptr(i), hist.ptr(), dims * sizeof(float));
58 } 62 }
59 63