OpenCv 在 C++ 中从一维数组制作 Mat Image 的最快方法
OpenCv Fastest way to make Mat Image from 1 D Array in C++
我是 OpenCV
的新人。我有一个大小为 5038848
的 unsigned char
数组来创建一个 Image of 1944*2592
从该 1 D 数组制作图像的最快方法。
我已经使用 Nested Loop
完成了此操作,但我认为创建单个框架需要很多时间。
那么谁能告诉其他比这更快的解决方案。
您可以创建一个空的 Mat
并将数据设置为您的数组。
unsigned char* array = ...
img = cv::Mat(1944,2592, CV_8U);
img.data = array;
cv::imshow('My image', img);
cv::waitKey()
一种更快的方法是直接使用您的数据创建 Mat
。这样,创建对象时就不会分配数据指针。它也可能更安全,因为您不直接操作内部数据指针。
img = cv::Mat(1944, 2592, CV_8U, array);
我是 OpenCV
的新人。我有一个大小为 5038848
的 unsigned char
数组来创建一个 Image of 1944*2592
从该 1 D 数组制作图像的最快方法。
我已经使用 Nested Loop
完成了此操作,但我认为创建单个框架需要很多时间。
那么谁能告诉其他比这更快的解决方案。
您可以创建一个空的 Mat
并将数据设置为您的数组。
unsigned char* array = ...
img = cv::Mat(1944,2592, CV_8U);
img.data = array;
cv::imshow('My image', img);
cv::waitKey()
一种更快的方法是直接使用您的数据创建 Mat
。这样,创建对象时就不会分配数据指针。它也可能更安全,因为您不直接操作内部数据指针。
img = cv::Mat(1944, 2592, CV_8U, array);