Commit 04ac6db0 authored by Ilya Lysenkov's avatar Ilya Lysenkov

Added support of CV_16S depth in morphology operations

parent 9d871abd
...@@ -983,13 +983,14 @@ cv::Ptr<cv::FilterEngine> cv::createMorphologyFilter( int op, int type, InputArr ...@@ -983,13 +983,14 @@ cv::Ptr<cv::FilterEngine> cv::createMorphologyFilter( int op, int type, InputArr
borderValue == morphologyDefaultBorderValue() ) borderValue == morphologyDefaultBorderValue() )
{ {
int depth = CV_MAT_DEPTH(type); int depth = CV_MAT_DEPTH(type);
CV_Assert( depth == CV_8U || depth == CV_16U || depth == CV_32F ); CV_Assert( depth == CV_8U || depth == CV_16U || depth == CV_16S || depth == CV_32F );
if( op == MORPH_ERODE ) if( op == MORPH_ERODE )
borderValue = Scalar::all( depth == CV_8U ? (double)UCHAR_MAX : borderValue = Scalar::all( depth == CV_8U ? (double)UCHAR_MAX :
depth == CV_16U ? (double)USHRT_MAX : (double)FLT_MAX ); depth == CV_16U ? (double)USHRT_MAX :
depth == CV_16S ? (double)SHRT_MAX : (double)FLT_MAX );
else else
borderValue = Scalar::all( depth == CV_8U || depth == CV_16U ? borderValue = Scalar::all( depth == CV_8U || depth == CV_16U ? 0. :
0. : (double)-FLT_MAX ); depth == CV_16S ? (double)SHRT_MIN : (double)-FLT_MAX );
} }
return Ptr<FilterEngine>(new FilterEngine(filter2D, rowFilter, columnFilter, return Ptr<FilterEngine>(new FilterEngine(filter2D, rowFilter, columnFilter,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment