videoio: realsense - add cvtColor as the pixel-format is only a hint
authorPavel Rojtberg <pavel.rojtberg@igd.fraunhofer.de>
Tue, 19 Jun 2018 15:55:02 +0000 (17:55 +0200)
committerPavel Rojtberg <pavel.rojtberg@igd.fraunhofer.de>
Tue, 19 Jun 2018 15:55:09 +0000 (17:55 +0200)
modules/videoio/src/cap_librealsense.cpp

index a33841b..4ef1c76 100644 (file)
@@ -85,6 +85,9 @@ bool VideoCapture_LibRealsense::retrieveFrame(int outputType, cv::OutputArray fr
         // we copy the data straight away, so const_cast should be fine
         void* data = const_cast<void*>(_frame.get_data());
         Mat(_frame.get_height(), _frame.get_width(), type, data, _frame.get_stride_in_bytes()).copyTo(frame);
+
+        if(_frame.get_profile().format() == RS2_FORMAT_RGB8)
+            cvtColor(frame, frame, COLOR_RGB2BGR);
     }
     catch (const rs2::error&)
     {