最近在研究 opengl 的時候

想要做到一個功能 : 存下視窗上的圖片

有點類似 screenshot 的感覺

但 opengl 好像沒有輸出存成圖片的這個功能的 function

因此,就必須加入 OpenCV,透過 opencv 的 imwrite 來幫忙了!

 

主要實現儲存 screenshot 的程式碼如下:

line 3, 4 : 得到視窗大小的長與寬

line 12, 13 : 設定 pixel 儲存的方式 (glPixelStore)

line 14 : 從 frame buffer 讀取 pixel (glReadPixels)

line 15 : OpenCV 和 OpenGL 在儲存 pixel 的時候方向是上下顛倒的,所以用 flip 顛倒它

line 17 : 透過 OpenCV 的 imwrite 存下圖片

 

原視窗圖:

 

存下來的圖:

arrow
arrow

    Sushi 發表在 痞客邦 留言(0) 人氣()