我有一个函数需要返回一个16位无符号整数向量,但是对于另一个我也调用这个函数的函数,我需要以8位无符号整数向量格式输出。例如,如果我开始是这样的:
std::vector<uint16_t> myVec(640*480);
我该如何将它转换成以下格式:
std::vector<uint8_t> myVec2(640*480*4);
更新(更多信息): 我正在使用libfreenect及其getDepth()方法。我已经修改了它以输出一个16位无符号整数向量,以便我可以检索深度数据(以毫米为单位)。然而,我也想显示深度数据。我正在使用来自freenect安装的一些示例代码c ++,它使用glut并需要一个8位无符号整数向量来显示深度,但是,我需要16位来检索以毫米为单位的深度并将其记录到文本文件中。因此,我希望在glut的绘制函数中以16位无符号整数向量的形式检索数据,然后进行转换,以便我可以使用已经编写好的glut函数显示它。
std::vector
没有公开任何外部覆盖其内部缓冲区指针的方法。 - Dai