diff --git a/modules/highgui/src/window_w32.cpp b/modules/highgui/src/window_w32.cpp index 08a137ab21fed1f68f2873d05cdade999fbb0591..988aedaf6346eaf466806268552d8ef0f0082524 100644 --- a/modules/highgui/src/window_w32.cpp +++ b/modules/highgui/src/window_w32.cpp @@ -1909,7 +1909,8 @@ static void showSaveDialog(CvWindow* window) if (GetSaveFileName(&ofn)) { - cv::Mat tmp; cv::flip(cv::Mat(sz.cy, sz.cx, CV_8UC(channels), data), tmp, 0); + cv::Mat tmp; + cv::flip(cv::Mat(sz.cy, sz.cx, CV_8UC(channels), data, (sz.cx * channels + 3) & -4), tmp, 0); cv::imwrite(szFileName, tmp); } }