将RGB数组转换为Mat(OpenCv)

5

我一直在尝试使用opencv将一个数组[R,G,B,..]转换为Mat对象。但是返回的数据有误,有人知道原因吗?

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代替double,并使用CV_8UC3。


我认为这个问题的标题有误。应该是 RGB 而不是 RGBA 吧? - Sogartar
1个回答

8
我想,您需要的是:

我认为您需要:

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

(全部为红色,2x2的RGB图像)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接