# Revision history [back]

### Is it possible to create a BGR image from predefined 3 (1-channel) image

I am trying to create 1 CV_8UC3 image from 3 different CV_8UC1 images that I already have, i.e I am trying to allocate the different single channel images that I already have into a single 1 Multi-Dimensional Image

Mat image3c(width, height, CV_8UC3,**data**)


Is it either possible to-

1. give the data directly during the CV_8UC3 creation

2. std::vector<mat> channels{ channelB, channelG, channelR }; // already have individual channels BGR in CV_8UC1 format merge(channels, image3c);

3. splitting the image3c Mat and then copying the predefined CV_8UC1 into the channels and then merging is possible, but trying best to avoid that

### Is it possible to create a BGR image from predefined 3 (1-channel) image

I am trying to create 1 CV_8UC3 image from 3 different CV_8UC1 images that I already have, i.e I am trying to allocate the different single channel images that I already have into a single 1 Multi-Dimensional Image

Mat image3c(width, height, CV_8UC3,**data**)
CV_8UC3, **data**)


Is it either possible to-

1. give the data directly during the CV_8UC3 creation

2. std::vector<mat> std::vector<Mat> channels{ channelB, channelG, channelR }; }; // already have individual channels BGR in CV_8UC1 format merge(channels, image3c);

3. splitting the image3c Mat and then copying the predefined CV_8UC1 into the channels and then merging is possible, but trying best to avoid that