繁体   English   中英

在OpenCV C ++中将数组分配给初始化的Mat对象

[英]Assign array to initialized Mat object in OpenCV C++

我正在使用C ++中的OpenCV(3.3.1)。 我有一个初始化的Mat对象和一个数组

Mat mat(2, 3, CV_32F, Scalar::all(0.5));
float arr[6] = {1,2,3,4,5,6};

我想在Mat对象初始化之后将数据从数组分配给Mat对象。 如何才能有效地做到这一点?

我知道我可以使用Mat mat(2, 3, CV_32F, arr);与数组初始化Mat对象Mat mat(2, 3, CV_32F, arr); 但我想在初始化后进行分配。

一种选择是:

std::memcpy(mat.data, arr, mat.rows*mat.cols*sizeof(float));

另一种选择(可能不适合您,因为您可能需要保留旧标题的某些部分):

mat = Mat(2, 3, CV_32F, arr)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM