2012-04-17 69 views
0

我的代碼是這樣的:RGB圖像::觀衆

osgViewer::Viewer viewer; 
viewer.setSceneData(scene); 
viewer.setCameraManipulator(tracker.get()); 
viewer.setUpViewInWindow(10,10,1024,768,0); 
viewer.realize(); 

現在,這個瀏覽器對象給了我一個場景的視圖包含車輛模型,地形等,我想無論數據如何寫入場景,都可以從該查看器中獲取RGB圖像。

本質上,我需要一個來自查看器的RGB圖像,而沒有先前的信息來確定將什麼數據寫入場景。如果查看器在1024 * 768窗口中顯示某些內容,我需要它作爲RGB圖像。

回答

1

如果我理解正確,那麼osg::ScreenCaptureHandler應該適合您的賬單。它是位於include/osgViewer中的ViewerEventHandlers標題的一部分。

這是一個簡單的事件處理程序,它在按鍵時捕獲並存儲當前視圖的圖像。你可以使用它或根據自己的喜好進行調整。

+0

嗨,其實我不想將它作爲一個文件存儲。我想用它來處理,而不需要按鍵。 所以這個想法是因爲我得到的觀衆輸出,我需要做一些圖像處理,如關鍵點生成等在觀衆輸出作爲圖像(RGB格式)。所以,我不能有按鍵等待,我只能將fps捕獲到幀緩衝區 – 2012-04-17 21:44:26

+1

然後根據自己的喜好進行調整。您可以使用任何事件進行一些修改來觸發它。而且您不需要將結果osg :: Image存儲在文件中。 – Bart 2012-04-17 21:46:21