[問題] OpenGL顯示avi影片第一張frame全黑
小弟我目前使用Visual Studio 2010編寫一段程式
主要流程是
1. 用OpenCV提供的物件讀取*.avi
VideoCapture cap("test.avi");
2. 一樣利用OpenCV提供的物件將*.avi的每張frame獨自擷取出來
Mat testImage;
cap.retrieve(testImage);
3. 將testImage變成是OpenGL的texture
GLuint textureId;
glBindTexture(GL_TEXTURE_2D, textureId);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, VIDEOWIDTH, VIDEOHEIGHT, 0,
GL_BGR, GL_UNSIGNED_BYTE, testImage.data);
4. 用OpenGL畫出此texture
奇怪的點在於
這樣畫的時候每次第一張frame都是全黑的
而之後的frame顯示都正常
我試過在畫完texture後加上一個3D model
則第一張frame的畫面會顯示黑背景 + 3D model
第二張之後顯示才正常 (影片背景 + 3D model)
不知道為什麼會有這種第一張frame顯示不出來的情況呢?
(opencv確實有抓出第一張frame,但opengl畫不出來)
懇請大大們不吝賜教,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.48.126
推
02/21 16:25, , 1F
02/21 16:25, 1F
→
02/21 16:26, , 2F
02/21 16:26, 2F
→
02/22 13:50, , 3F
02/22 13:50, 3F
→
02/22 14:28, , 4F
02/22 14:28, 4F
→
02/22 14:28, , 5F
02/22 14:28, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章