From 8ef8b02add21d0f8745e5a1a9b577913b9286a2d Mon Sep 17 00:00:00 2001 From: liyong Date: Sat, 12 Sep 2020 18:30:40 +0800 Subject: [PATCH] fix bug in normalize op --- .../ccsrc/minddata/dataset/kernels/image/image_utils.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mindspore/ccsrc/minddata/dataset/kernels/image/image_utils.cc b/mindspore/ccsrc/minddata/dataset/kernels/image/image_utils.cc index 2cee55a9e8..f28abb75fd 100644 --- a/mindspore/ccsrc/minddata/dataset/kernels/image/image_utils.cc +++ b/mindspore/ccsrc/minddata/dataset/kernels/image/image_utils.cc @@ -592,15 +592,18 @@ Status Normalize(const std::shared_ptr &input, std::shared_ptr * try { // NOTE: We are assuming the input image is in RGB and the mean // and std are in RGB - cv::Mat rgb[3]; + std::vector rgb; cv::split(in_image, rgb); + if (rgb.size() != 3) { + RETURN_STATUS_UNEXPECTED("Input image is not in RGB."); + } for (uint8_t i = 0; i < 3; i++) { float mean_c, std_c; RETURN_IF_NOT_OK(mean->GetItemAt(&mean_c, {i})); RETURN_IF_NOT_OK(std->GetItemAt(&std_c, {i})); rgb[i].convertTo(rgb[i], CV_32F, 1.0 / std_c, (-mean_c / std_c)); } - cv::merge(rgb, 3, output_cv->mat()); + cv::merge(rgb, output_cv->mat()); *output = std::static_pointer_cast(output_cv); return Status::OK(); } catch (const cv::Exception &e) {