imgcodecs: fix imwrite handling of different OutputArray types
authorAlexander Alekhin <alexander.alekhin@intel.com>
Tue, 22 May 2018 10:56:17 +0000 (13:56 +0300)
committerAlexander Alekhin <alexander.alekhin@intel.com>
Tue, 22 May 2018 10:57:51 +0000 (13:57 +0300)
modules/imgcodecs/src/loadsave.cpp

index e6782dc..5dba241 100644 (file)
@@ -716,13 +716,10 @@ bool imwrite( const String& filename, InputArray _img,
 {
     CV_TRACE_FUNCTION();
     std::vector<Mat> img_vec;
-    //Did we get a Mat or a vector of Mats?
-    if (_img.isMat() || _img.isUMat())
-        img_vec.push_back(_img.getMat());
-    else if (_img.isMatVector() || _img.isUMatVector())
+    if (_img.isMatVector() || _img.isUMatVector())
         _img.getMatVector(img_vec);
     else
-        CV_Error(Error::StsBadArg, "Unknown/unsupported input encountered");
+        img_vec.push_back(_img.getMat());
 
     CV_Assert(!img_vec.empty());
     return imwrite_(filename, img_vec, params, false);