我使用此功能将OPENCV用特定的C数组填充:
float data[9] = { 1, 0.5,-51,0,1,50,0,0,1};
Mat myH = cv::Mat(3, 3, CV_32F, data);
,但我想知道是否还有另一个功能对矩阵a:
float myArray [Size_Of_A] = Mat A;
我知道我可以通过循环做到这一点,但是如果没有功能可以执行此操作,这是我的最后选择。循环就像:
float myArray[size_of_A];
for (int row = 0; row < A.rows; row++)
for (int col = 0; col < A.cols; col++)
myArray[row * A.cols + col ] = A.at<float>(row, col);
我需要将图像发送到CUDA内核。
我从miki评论中得到了这个答案,
float* myArray = myH.ptr<float>();
因此,无需复制主机端的数据,我们可以使用新的指针" MyArray"复制到设备。