gpt4 book ai didi

c++ - vector 的 OpenCV vector 转换为 cv::Mat

转载 作者:搜寻专家 更新时间:2023-10-31 01:11:14 25 4
gpt4 key购买 nike

我在 std::vector<std::vector<double>> 中有某些值n 行和 m 列的结构,我想将其转换为等效的 cv::Mat 对象。这是我一直在使用的代码,但出现错误:

dctm 是一个局部参数,定义为: std::vector<std::vector<double>>

cv::Mat dctmat = cvCreateMat(dctm.size(), dctm[0].size(), CV_16SC1);
for (size_t i = 0; i < dctm.size(); i++) {
for (size_t j = 0; j < dctm[i].size(); j++) {
dctmat.at<double>(i, j) = dctm[i][j];
}
}

最佳答案

dctmat有一个类型 CV_16SC1这意味着带符号的短矩阵。但是您尝试使用 dctmat.at<double>(i, j) 访问它这是不连贯的。将矩阵定义为 CV_64FC1或使用 dctmat.at<short>(i, j) 访问它(第一个解决方案更好,因为您有一个 vector double )。

关于c++ - vector 的 OpenCV vector 转换为 cv::Mat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15140435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com