目前,我在提供相機預覽紋理的屏幕上顯示相機預覽 - camera.setPreviewTexture(...)
(當然使用opengl進行)。相機圖像上的CPU處理
我有一個本地庫,它獲取bytes[]
作爲圖像,並返回一個byte[]
- 與輸入圖像相關的結果圖像。我想調用它,然後將輸入圖像和結果繪製到屏幕上 - 彼此相對。
我知道在Opengl中,爲了將紋理數據返回到CPU中,我們必須使用glReadPixel
來讀取紋理數據,之後我將不得不將結果加載到紋理 - 這將對性能產生重大影響去做每一幀。
我想過使用camera.setPreviewCallback(...)
,我得到了框架(調用過程方法並將結果傳遞給我的SurfaceView),並行地繼續使用紋理預覽技術來繪製屏幕,我害怕在previewCallback
中獲得的幀與我在紋理中獲得的幀之間的同步。
我錯過了什麼嗎?或者有沒有簡單的方法來解決這個問題?
你說得對,SurfaceTexture和onPreviewFrame之間沒有同步。只有幾分鐘前,我發佈了一個類似的[答案](http://stackoverflow.com/a/35341780/192373)。請檢查它與您的相關程度。 –
不是我想閱讀的答案,但可悲的是,這是我以爲 –
不要懲罰信使;)推動相機幀到自定義紋理是非常有效的Android上;我們已經達到了720p的30 FPS。 –