diff --git a/modules/imgproc/src/contours.cpp b/modules/imgproc/src/contours.cpp index 420c758c5b..5ea4a07c61 100644 --- a/modules/imgproc/src/contours.cpp +++ b/modules/imgproc/src/contours.cpp @@ -1703,6 +1703,10 @@ cvFindContours( void* img, CvMemStorage* storage, void cv::findContours( InputOutputArray _image, OutputArrayOfArrays _contours, OutputArray _hierarchy, int mode, int method, Point offset ) { + // Sanity check: output must be of type vector> + CV_Assert( _contours.kind() == _InputArray::STD_VECTOR_VECTOR && + _contours.channels() == 2 && _contours.depth() == CV_32S ); + Mat image = _image.getMat(); MemStorage storage(cvCreateMemStorage()); CvMat _cimage = image;