我正在使用glReadPixels
来读取OpenGL上下文,并最终使用openCV视频编写器将其写入视频文件。
screenshot = glReadPixels(0,0,w,h,GL_BGR,GL_UNSIGNED_BYTE)
cv_image = cv2.cv.CreateImage((w,h), cv2.cv.IPL_DEPTH_8U, 3)
cv2.cv.SetData(cv_image, screenshot)
cv2.cv.Flip(cv_image)
cv2.cv.SaveImage("temp.jpg", cv_image)
cv2.cv.WriteFrame(video, cv_image)
渲染的视频显示了如下图所示的工件。我将所有帧(上面的cv_image变量)保存到磁盘中,并且没有任何伪像。似乎WriteFrame在这里造成了一些麻烦。 请帮我弄清楚问题。
答案 0 :(得分:2)
切换到无损压缩方案,如PNG(用于图像)或Huffyuv(用于视频)。