我正在使用OpenCV,而我正在尝试填充大小的垫子
cv::Mat Mat = cv::Mat(DEPTH_HEIGHT, DEPTH_WIDTH, CV_16U);
并在此while循环中填入depth
值:
while (curr < dataEnd) {
// Get depth in millimeters
USHORT depth = NuiDepthPixelToDepth(*curr++);
cv::Mat Mat++ = depth;
}
有没有办法迭代到Mat,这样每个深度值都存储在HeightxWidth Mat索引中?
答案 0 :(得分:2)
for (i=0;i<mat.rows;i++)
{
uint16_t* ptr = mat.ptr<uint16_t>(i);
for (j=0;j<mat.cols;j++)
{
*ptr++ = value for pixel (i,j)
}
}
请注意,您应该使用ptr(row#),因为每行像素的起点可能与地址边界对齐。