看板 C_and_CPP 關於我們 聯絡資訊
1. 在板上有查到可以使用 glReadPixel()把openGL的資料讀出, 再寫入openCV的資料結構,再顯示出來。 不過我在oepnGL的官方網站上的論壇裡,有看到外國網友說這樣子效率不好。 因為我是要使用webCam作及時的運算,想請問是否有其他有效率的方法呢? 2. 使用glut的話,之後會有 glutMainLoop() 的無限迴圈 不過同時我在openCV中, 也要作一些影像處理 我知道可以使用 glutIdleFun() 呼叫callback function 可是原本寫好的openCV程式, 沒辦法都擠到一個function裡, 而且還有一些區域參數的問題等等.. 我想到的另外的方法是openMP 平行化, 然後透過shared 參數來作openCV GL data的交換 所以問題是: 2-1, 是否可以不用glutMainLoop 來畫模型, 哪裡有範例呢?(都只找到有glut) 2-2, 除了平行化,是否有其他更好的方法呢? 先感謝大家!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 136.152.176.17
VictorTom:Nehe - http://0rz.tw/86tGEhttp://0rz.tw/b38Gu 04/24 10:06
VictorTom:上面是不用GLUT在Windows上的作法, Lesson 1還有其他平 04/24 10:06
VictorTom:台的; 不過, 基本上它一樣有個while win msg loop.... 04/24 10:07
VictorTom:glReadPixel的效率不好, 因為去system mem <-> graphic 04/24 10:09
VictorTom:ram的動作非常沒有效率, 你要不要說一下為什麼非要 04/24 10:10
VictorTom:glReadPixel不可?? 通常是用GL來呈現結果不是嗎?_? 04/24 10:11
^^^ hello! 首先感謝回覆!! 所以您的意思是 不管有沒有GLUT 都還是會有個無限迴圈囉? 如果能夠控制迴圈的順序 基本上我的彈性會比較高一點 EX: 每次進行WHILE LOOP前 先執行另外一個FUNCTION 另外 基本上我知道可以在oepnCV或是openGL上顯示 不過我找到的範例都是讀取GL的資料然後在CV上顯示, 所以才看到glReadPixel 也知道效率會比較差! 所以VictorTom您的意思是 如果在GL上顯示 效率就會好很多囉? 可以請教一下有什麼關鍵字(or function)可以查到這樣的方法呢?
clanguage:webcam 一秒應該沒20張 你的處理有超過500ms? 04/24 10:47
clanguage:算錯 50ms 04/24 10:47
joefaq:推樓上 效能應該是卡在 webcam 現在電腦的速度很快的 04/24 10:56
VictorTom:應該一兩年前的WebCam就可以做到640x480x30fps了吧?_? 04/24 23:08
VictorTom:印象中羅技的QuickCam系列很早就有到這種規格的了.... 04/24 23:12
^^ 假如沒有做任何處理 只有讀取的話是30fps 我用的是羅技Pro9000 ※ 編輯: hoson 來自: 136.152.171.243 (04/27 06:33) ※ 編輯: hoson 來自: 136.152.171.243 (04/27 06:38)