2013-11-24 99 views
4

我一直在尝试使用opencv将Mat对象中的数组[R,G,B,..]转换。但是,返回错误的数据,有人知道为什么?将RGB数组转换为Mat(OpenCv)

double data[12] = {0,0,255,0,0,255,0,0,255,0,0,255}; 
Mat src = Mat(2,2, CV_16UC3, data); 

和回报:

M = 
[0, 0, 0, 0, 0, 0; 
    0, 0, 0, 0, 57344, 16495] 

编辑:

解决了!使用UCHAR代替翻一番,CV_8UC3

+0

我认为这个问题有错题。它不应该是RGB而是RGBA吗? – Sogartar

回答

6

我想,你想:

uchar data[12] = {0,0,255,0,0,255,0,0,255,0,0,255}; 
Mat src = Mat(2,2, CV_8UC3, data); 

(全红,2x2的RBG图像)