[英]Creating a cv::Mat image from a 3d array
假设我有一个数组
uint8_t img[1000][1200][3]
其中前两个维度表示图像的大小(高度、宽度),第三个维度表示通道 (BGR)。 例如
img[200][100][1]
给出坐标为 (200, 100) 的绿色像素的值.
如何将此数组转换为 cv::Mat 图像? 我试过了
cv::Mat my_image(1000, 1200, CV_8UC3, img);
但我不确定我得到的结果是否正确。 有什么提示吗?
不是cpp专家,但想法如下:
uint8_t img[1000][1200][3];
uint8_t *p = img;
//Consturctor takes a pointer to image data, possibly you will need to swap height and width.
cv::Mat my_image(1000, 1200 CV_8UC3, (void*)p);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.