Added support of the 1 width element in morphology (ticket #1099).

pull/13383/head
Ilya Lysenkov 14 years ago
parent f154b2d0d7
commit dfdbf0abd0
  1. 11
      modules/imgproc/src/filter.cpp

@ -175,17 +175,18 @@ void FilterEngine::init( const Ptr<BaseFilter>& _filter2D,
CV_Assert( 0 <= anchor.x && anchor.x < ksize.width &&
0 <= anchor.y && anchor.y < ksize.height );
borderElemSize = srcElemSize/(CV_MAT_DEPTH(srcType) >= CV_32S ? sizeof(int) : 1);
borderTab.resize( std::max(ksize.width - 1, 1)*borderElemSize);
borderElemSize = srcElemSize/(CV_MAT_DEPTH(srcType) >= CV_32S ? sizeof(int) : 1);
int borderLength = std::max(ksize.width - 1, 1);
borderTab.resize(borderLength*borderElemSize);
maxWidth = bufStep = 0;
constBorderRow.clear();
if( rowBorderType == BORDER_CONSTANT || columnBorderType == BORDER_CONSTANT )
{
constBorderValue.resize(srcElemSize*(ksize.width - 1));
constBorderValue.resize(srcElemSize*borderLength);
scalarToRawData(_borderValue, &constBorderValue[0], srcType,
(ksize.width-1)*CV_MAT_CN(srcType));
borderLength*CV_MAT_CN(srcType));
}
wholeSize = Size(-1,-1);

Loading…
Cancel
Save