FaceDetectionListener的注意事項

網上很多安卓人臉識別的例子,但是大多在FaceDetectionListener裏只寫了log,並沒有圖形化顯示。

實際操作中,是有問題的。

在回調方法 public void onFaceDetection(Face[] faces, Camera camera)中。face的座標範圍是(-1000, -10000)到(1000, 1000),所以需要縮放的轉換,如果在使用Camera時,旋轉了角度,那麼face裏的座標也需要做一次相應的轉換

public void onFaceDetection(Face[] faces, Camera camera) {

                        if(faces.length>0){ int cx = -face.rect.centerY(); //因爲之前對camera做了旋轉,所以這裏需要轉換一下坐
                        int cy = -face.rect.centerX(); //因爲之前對camera做了旋轉,所以這裏需要轉換一下坐

                        cx = (int) ((cx+1000f)*view_W/2000f); //縮放座標
                        cy = (int) ((cy+1000f)*view_H/2000f); //縮放座標
                        postPostToView(cx, cy); //將結果座標傳給View處理
                        }
                    }

<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;"> </span>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章