diff --git a/AIEngineModule/src/AIModel_Impl.cpp b/AIEngineModule/src/AIModel_Impl.cpp index f90c263..edd402c 100644 --- a/AIEngineModule/src/AIModel_Impl.cpp +++ b/AIEngineModule/src/AIModel_Impl.cpp @@ -175,17 +175,24 @@ cv::Mat AIModel_Impl::InitMat(int channel, int w, int h) { if (w <= 0 || h <= 0 || channel <= 0 || channel > 3) { + printf("InitMat: invalid params channel=%d w=%d h=%d\n", channel, w, h); return cv::Mat(); } cv::Mat dst; if (channel == 1) { - dst = cv::Mat(h, w, CV_8UC1, cv::Scalar(0)); + dst = cv::Mat::zeros(h, w, CV_8UC1); } else { - dst = cv::Mat(h, w, CV_8UC3, cv::Scalar(0, 0, 0)); + dst = cv::Mat::zeros(h, w, CV_8UC3); + } + + if (dst.empty() || dst.data == NULL) + { + printf("InitMat: cv::Mat::zeros failed, channel=%d w=%d h=%d\n", channel, w, h); + return cv::Mat(); } return dst; }