问题:用Kinect Dk读出来的图像用Opencv显示没有纹理,保存为BMP也没有问题,但是OpenGL纹理加载显示出来偏蓝
解决:OpenGL纹理数据加载时使用的颜色通道错误了,原来数据的颜色通道是BGRA的
之前:glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, _width, _height, 0, GL_RGBA, GL_UNSIGNED_BYTE, image);
之后:glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, _width, _height, 0, GL_BGRA, GL_UNSIGNED_BYTE, image);
本文介绍了一种解决使用KinectDk读取的图像在OpenGL显示时出现偏蓝现象的方法。问题源于纹理加载时颜色通道设置错误,原始图像为BGRA格式,而OpenGL默认使用RGBA。通过调整glTexImage2D函数中的颜色通道参数从GL_RGBA改为GL_BGRA,成功解决了图像颜色偏移的问题。
971

被折叠的 条评论
为什么被折叠?



