簡體   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