2011-04-04 53 views
2

我使用的面部檢測器跟隨他們移動時檢測到的面部,使用相機預覽回調並在預覽顯示頂部繪製覆蓋視圖(在其中繪製圍繞面)。安卓相機預覽回調正在繪製覆蓋視圖非常緩慢

這一切都有效,但在視圖更改時滯後2或3秒,繪製的圓圈顯示爲時間太晚。我在onPreviewFrame方法中的覆蓋視圖上調用invalidate。

任何想法是什麼錯? android FaceDetector的findFaces方法真的很慢嗎?當我檢查系統時間時,似乎最多需要大約0.5秒,這大大小於3秒。

任何幫助,將不勝感激。謝謝!

回答

0

0.5 - 1秒是FaceDetector.findFaces方法檢測到人臉的時間。

+1

對 - 我認爲2秒的延遲與相機預覽框架的工作方式有關 - 我想知道是否有人有任何提示加快速度的提示! – user647311 2011-04-04 06:24:41

0

FaceDetector用於檢測任意位圖中的人臉。既然你是想檢測的活動攝像頭預覽的面孔也許這裏描述你可以嘗試使用人臉檢測的Camera.FaceDetectionListener執行:

http://developer.android.com/guide/topics/media/camera.html#face-detection

很可能是人臉檢測的這種方法優化與活動相機預覽框架協同工作。

同樣,嘗試在設備上打開股票Android相機應用程序,並觀察它檢測到的面部。它是否以與您的應用中的人臉檢測相同的速度檢測到它們?如果速度更快,那麼您可以採取一些措施來加快應用的速度。如果沒有,那麼你的應用程序可能已經達到了該設備上的速度。

作爲參考,人臉檢測中的股票應用在我的Nexus 4平均值大概0.2秒(每秒5)和我的Nexus 10是有點慢,可能在約0.33s(3每秒。)