opencv给mat赋值失败
向量vecY中有数据,tem中也有数据,size大小也没错,但就是labelmat中的值一直都是0。赋值一直不成功,求解释...
向量vecY中有数据,tem中也有数据,size大小也没错,但就是labelmat中的值一直都是0。
赋值一直不成功,求解释 展开
赋值一直不成功,求解释 展开
1个回答
展开全部
据我的推测,你是想得到一个标签矩阵,用作训练标签(不知道是不是?)。明确一个问题,标签矩阵是一个N行1列的矩阵,不是1行N列的矩阵!!所以程序修改如下:
cv::Mat getLabelMat(const std::vector<double>& dvec)
{
cv::Mat labelMat(dvec.size(), 1, CV_64FC1); // 行列调换
for(int i = 0; i < dvec.size(); ++i)
{
labelMat.at<double>(i, 0) = dvec[i]; // 行列调换
}
return labelMat;
}
上述结果得到列向量,截图如下:
不过,我也试了你的方法,发现也是可以的,只是得到的是行向量,截图如下:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询