處理後手動顯示來自Camera.PreviewCallback的幀。我已經構建了一個人臉檢測應用程序,其中我從onPreviewFrame獲取幀,執行臉部檢測,然後在我的surfaceView上方的畫布上繪製一個圓。問題是當Camera.StartPreview()啓動時,使用surfaceview線程自動顯示幀。這對於PreviewCallback來說顯然是必要的。由於處理,面部檢測和繪圖是在單獨的線程中完成的(我在這裏假設),所顯示的幀與該幀的結果之間存在2秒的延遲在畫布上進行處理和繪製。如何在Camera.Preview
我想要做的是停止相機預覽顯示幀並在處理後自己顯示它們。我相信這有三個好處:
延遲消失。
我可以直接繪製位圖而不是無用的畫布,因爲無法撤消所做的操作。
由於沒有兩個線程使用相同的圖像,它將有助於保持內存消耗低。
我讀過可以顯示來自previewCallback的幀,有人知道如何以及如何停止自動顯示的幀?
非常感謝提前。
謝謝你以後對你OK,這並停止顯示預覽。我需要弄清楚我現在將如何顯示位圖,因爲SurfaceView顯然仍然存在於佈局上,爲了測試,我將位圖繪製到可以正常工作的畫布上,但是當我爲每個預覽回調嘗試此操作時,都會出現延遲約3秒。再次感謝這有助於。 – 2010-12-06 12:50:30