我正在使用Kinect SDK和Qt工具包来创建一个在GUI窗口中显示深度框架的应用程序。对于普通的opencv相机图像,我用它来做:
qimage = QImage(image.data, 640, 480, QImage::Format_Indexed8);
pixmap = QPixmap::fromImage(qimage);
ui.DepthView->adjustSize();
但是使用Kinect sdk这不起作用。当我抓住这样的框架时:
hr = m_pNuiSensor->NuiImageStreamGetNextFrame(m_pDepthStreamHandle,
1000, &imageFrame);
我无法将其转换为Qimage。我也试着在抓住框架后使用纹理:
hr = m_pNuiSensor->NuiImageFrameGetDepthImagePixelFrameTexture(m_pDepthStreamHandle,
&imageFrame, &nearMode, &pTexture);
然后我尝试将pTexture转换为Qimage,但这也不起作用。
我在这里做错了,有人可以给我一些指示吗?
提前致谢!
答案 0 :(得分:1)
是否保留了image.data的值? 它必须保持有效,直到QImage不再使用......