Fix BayerXX2RGBA when blue is on the first line.

This commit is contained in:
Mark Harfouche 2018-09-12 14:47:00 -04:00
parent 796795ac89
commit 095b0d3272

View File

@ -923,8 +923,10 @@ static void Bayer2RGB_( const Mat& srcmat, Mat& dstmat, int code )
{ {
int dst_step = (int)(dstmat.step/sizeof(T)); int dst_step = (int)(dstmat.step/sizeof(T));
Size size = srcmat.size(); Size size = srcmat.size();
int blue = code == CV_BayerBG2BGR || code == CV_BayerGB2BGR ? -1 : 1; int blue = (code == CV_BayerBG2BGR || code == CV_BayerGB2BGR ||
int start_with_green = code == CV_BayerGB2BGR || code == CV_BayerGR2BGR; code == CV_BayerBG2BGRA || code == CV_BayerGB2BGRA ) ? -1 : 1;
int start_with_green = (code == CV_BayerGB2BGR || code == CV_BayerGR2BGR ||
code == CV_BayerGB2BGRA || code == CV_BayerGR2BGRA);
int dcn = dstmat.channels(); int dcn = dstmat.channels();
size.height -= 2; size.height -= 2;