由于我目前在OpenVino上工作,因此必须使用OpenCV。我必须将std :: vector转换为cv :: Mat-array。我的示例代码如下:
std::vector<float> inputvector(10*10,1.1111);
cv::Mat image = cv::Mat(10,10,CV_32FC1);
for(int i=0;i<10;i++)
{
for (int j=0;j<10;j++)
{
image.at<float>(i,j) = inputvector.at(10*i+j);
}
}
现在,我必须用Blob :: Ptr包装我的数据,而无需分配新的内存:
Blob::Ptr imgBlob = wrapMat2Blob(image);
对于上面的最后一行,我从OpenVINO推理引擎收到以下错误消息:
Doesn't support conversion from not dense cv::Mat
我不明白这一点,因为我的10 * 10数组在每个位置都持有1.1111值。有人可以解释吗?谢谢!