fix InitMat使用Scalar赋值mat崩溃

dev_lsy
liusiyang 1 month ago
parent c08187e3ae
commit 2e6bf04df7

@ -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;
}

Loading…
Cancel
Save