【发布时间】:2017-10-26 20:40:42
【问题描述】:
我正在尝试将向量转换为 cv::Mat,其中它是一个 2D 矩阵 (640*480),具有 3 个通道,2D 矩阵中的每个元素都是 CV_32FC3 类型(三个通道每个指的是 x、y、和z)。
n_rows = 480 and n_cols=640
我不确定为什么xyzMap = cv::Mat(xyzBuffer).reshape(3, 480); 会出现访问冲突异常
vector<cv::Point3f> xyzBuffer;
另外,当我使用其他方法进行整形时:
cv::Mat xyzBuffMat = cv::Mat(xyzBuffer.size(), 1, CV_32FC3);
for (int i = 0; i < xyzBuffer.size(); i++) {
xyzBuffMat.at<float>(i, 0, 0) = xyzBuffer[i].x;
xyzBuffMat.at<float>(i, 0, 1) = xyzBuffer[i].y;
xyzBuffMat.at<float>(i, 0, 2) = xyzBuffer[i].z;
}
xyzMap = xyzBuffMat.reshape(3, 480);
【问题讨论】:
标签: c++ opencv vector type-conversion realsense