Ask Your Question

Initialize Mat with color data

asked 2014-04-29 10:21:31 -0500

Gunter gravatar image

Hello, I'm trying to initialize a Mat with BGR data. I'm getting a strange results.

I do this all the time: Mat image(Size(cols, rows), CV_8UC1, (void*) inputData, Mat::AUTO_STEP);

But when I do it with a color image the output mat is not correct (its offset in all of BGR data, vertical and horizontal dimensions).

Even if I trim the code to:

Mat image2 = Mat(Size(imageIn.cols, imageIn.rows), imageIn.type(),, Mat::AUTO_STEP);

image2 is not imageIn.

imageIn.type() is CV_8UC3.

What am I doing wrong?

Thanks for your help,


edit retag flag offensive close merge delete


Hi,i think you should chek the size of your source image ,especially column number,It should be quadruple to show image.for example.your source image size is 21x21,you should declare new image size 21x24.Then you fill data one pixel by one pixel. The other is seted to zero,

wuling gravatar imagewuling ( 2014-04-29 18:56:33 -0500 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2014-04-30 01:56:43 -0500

FLY gravatar image

If you first image is

Mat img = imread("lena.jpg");

then your 2nd image should be like

Mat img2 = Mat(img.size(),img.type());
edit flag offensive delete link more

Question Tools


Asked: 2014-04-29 10:21:31 -0500

Seen: 503 times

Last updated: Apr 30 '14