From 5f8e43da85cfc495b11ad23af1ad01afa5db13e7 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 7 Jun 2023 16:15:58 +0200 Subject: [PATCH] checktype in blobFromImages and blobFromImagesWithParams --- modules/dnn/src/dnn_utils.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/dnn/src/dnn_utils.cpp b/modules/dnn/src/dnn_utils.cpp index aad067ee37..18c7e975eb 100644 --- a/modules/dnn/src/dnn_utils.cpp +++ b/modules/dnn/src/dnn_utils.cpp @@ -51,6 +51,11 @@ void blobFromImages(InputArrayOfArrays images_, OutputArray blob_, double scalef Size size, const Scalar& mean_, bool swapRB, bool crop, int ddepth) { CV_TRACE_FUNCTION(); + if (images_.kind() != _InputArray::STD_VECTOR_MAT && images_.kind() != _InputArray::STD_ARRAY_MAT && + images_.kind() != _InputArray::STD_VECTOR_VECTOR) { + String error_message = "The data is expected as vectors of vectors or vectors of matrices."; + CV_Error(Error::StsBadArg, error_message); + } Image2BlobParams param(Scalar::all(scalefactor), size, mean_, swapRB, ddepth); if (crop) param.paddingmode = DNN_PMODE_CROP_CENTER; @@ -83,9 +88,13 @@ Mat blobFromImagesWithParams(InputArrayOfArrays images, const Image2BlobParams& void blobFromImagesWithParams(InputArrayOfArrays images_, OutputArray blob_, const Image2BlobParams& param) { CV_TRACE_FUNCTION(); + if (images_.kind() != _InputArray::STD_VECTOR_MAT && images_.kind() != _InputArray::STD_ARRAY_MAT && + images_.kind() != _InputArray::STD_VECTOR_VECTOR) { + String error_message = "The data is expected as vectors of vectors or vectors of matrices."; + CV_Error(Error::StsBadArg, error_message); + } CV_CheckType(param.ddepth, param.ddepth == CV_32F || param.ddepth == CV_8U, "Blob depth should be CV_32F or CV_8U"); - Size size = param.size; std::vector images; images_.getMatVector(images);