From 4c591ca397d74a72aade1ee1f5392642ff629a9b Mon Sep 17 00:00:00 2001 From: Vadim Pisarevsky Date: Tue, 27 Jul 2010 17:41:32 +0000 Subject: [PATCH] fixed Mat::Mat(const IplImage*, bool) constructor (ticket #487). fixed the bayer demosaicing part in the new cv::cvtColor implementation --- modules/core/src/matrix.cpp | 2 +- modules/imgproc/src/color.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/core/src/matrix.cpp b/modules/core/src/matrix.cpp index 67482590e..3a7acf4e5 100644 --- a/modules/core/src/matrix.cpp +++ b/modules/core/src/matrix.cpp @@ -82,7 +82,7 @@ Mat::Mat(const IplImage* img, bool copyData) if( copyData ) { Mat m = *this; - rows = cols = 0; + release(); if( !img->roi || !img->roi->coi || img->dataOrder == IPL_DATA_ORDER_PLANE) m.copyTo(*this); diff --git a/modules/imgproc/src/color.cpp b/modules/imgproc/src/color.cpp index 2baf3024c..5a3f9b44f 100644 --- a/modules/imgproc/src/color.cpp +++ b/modules/imgproc/src/color.cpp @@ -2619,6 +2619,7 @@ void cvtColor( const Mat& src, Mat& dst, int code, int dcn ) case CV_BayerBG2BGR: case CV_BayerGB2BGR: case CV_BayerRG2BGR: case CV_BayerGR2BGR: case CV_BayerBG2BGR_VNG: case CV_BayerGB2BGR_VNG: case CV_BayerRG2BGR_VNG: case CV_BayerGR2BGR_VNG: + if(dcn <= 0) dcn = 3; CV_Assert( scn == 1 && dcn == 3 && depth == CV_8U ); dst.create(sz, CV_8UC3);