使用原始数据OpenCV设置已分配的Mat

Set allocated Mat with raw data OpenCV

本文关键字:分配 Mat 设置 原始数据 OpenCV      更新时间:2023-10-16

我有一个来自API的uchar* raw,它表示图像原始数据。该raw的通道的宽度、高度和数量是已知的。我已经预先分配了一个cv::Mat(OpenCV),具有这个宽度和高度。

我的问题是,如何才能在这个简历中设置raw::Mat。我想将raw复制到cv::Mat中,而不仅仅是切换指针。有没有功能可以实现这一点,或者我需要自己手动完成?

我想这不是最复杂的方法,但它应该可以工作:

uchar* raw; cv::Mat image(size, type, raw); image = image.clone();

cv::Mat mat(cv::Size(width, height), CV_8UC1, raw, cv::Mat::AUTO_STEP);
copiedImage = mat.clone();