Merge pull request #1863 from nevion:master

pull/1868/merge
Roman Donchenko 11 years ago committed by OpenCV Buildbot
commit aaf97c4548
  1. 8
      modules/imgproc/src/connectedcomponents.cpp

@ -195,11 +195,9 @@ namespace cv{
CV_Assert(connectivity == 8 || connectivity == 4); CV_Assert(connectivity == 8 || connectivity == 4);
const int rows = L.rows; const int rows = L.rows;
const int cols = L.cols; const int cols = L.cols;
size_t Plength = (size_t(rows + 3 - 1)/3) * (size_t(cols + 3 - 1)/3); //A quick and dirty upper bound for the maximimum number of labels. The 4 comes from
if(connectivity == 4){ //the fact that a 3x3 block can never have more than 4 unique labels for both 4 & 8-way
Plength = 4 * Plength;//a quick and dirty upper bound, an exact answer exists if you want to find it const size_t Plength = 4 * (size_t(rows + 3 - 1)/3) * (size_t(cols + 3 - 1)/3);
//the 4 comes from the fact that a 3x3 block can never have more than 4 unique labels
}
LabelT *P = (LabelT *) fastMalloc(sizeof(LabelT) * Plength); LabelT *P = (LabelT *) fastMalloc(sizeof(LabelT) * Plength);
P[0] = 0; P[0] = 0;
LabelT lunique = 1; LabelT lunique = 1;

Loading…
Cancel
Save