2012-07-03 100 views
3

我正在研究一個項目,我們使用無線調制解調器將數據(視頻和遙測)從無人機傳輸到地面站。我們需要做的是實時顯示視頻,並能夠知道哪一幀對應於C#中的每個遙測數據塊。如何以字節顯示opencv視頻?

數據被解封裝爲遙測和視頻字節(mpeg4)。由於我有OpenCV的一些經驗,我想用它來解碼,顯示和抓取視頻中的點擊位置。爲此,我使用名爲Emgu的C#OpenCV包裝器。

問題是,OpenCV從設備或文件加載視頻,我只有一些字節的回調。我已經嘗試將這些字節寫入文件並使用OpenCV打開此文件,但一旦它結束,我需要重新打開它並從停止的地方繼續,這會導致延遲。

任何人都知道如何做到這一點?

+1

讀出一個文件是一樣的讀出插座,你應該能夠公正attatch流給讀者,這將幾乎能夠在飛行中讀出。我想念什麼嗎? –

+0

我正在接收來自每次新數據塊到達時調用的回調的字節。我可以把它們放在一個套接字上,並把它當作普通文件來對待嗎? – dittrich

+0

由於您正在從流中讀取/寫入,因此可以輕鬆地將套接字流視爲其文件。請記住,當你寫/讀文件時,你需要使用流。回到他們創建網絡協議時,他們很聰明,並且使它變得簡單和熟悉。就像我說的那樣,抓住網絡流,並且可以將它的所有字節寫入/讀取,就好像它是一個文件一樣。閱讀關於網絡編程的一些東西,因爲不像一個文件,沒有「流的末尾」,直到您斷開。如果您想要即時處理數據,則一個線程抓取數據,另一個線程分析數據,以便實時進行處理。 –

回答