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

This commit is contained in:
Ilya Lysenkov 2011-05-31 14:50:25 +00:00
parent f154b2d0d7
commit dfdbf0abd0

View File

@ -176,16 +176,17 @@ void FilterEngine::init( const Ptr<BaseFilter>& _filter2D,
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);
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);