2017-07-24 58 views
0

我是OpenCV中的新成員,我不確定我的設計是否正確。我想爲Android手機編寫C++面部檢測器,它應該檢測不同的手機方向和旋轉角度的臉部。當電話方向是縱向和橫向時,讓我們留下來。我正在使用OpenCV來旋轉/編輯圖像和dlib來檢測臉部。 dlib形狀預測使用shape_predictor_68_face_landmarks.dat進行初始化,它只能以正確的電話方向檢測臉部(這意味着如果我將電話旋轉90°,它無法檢測臉部。) 爲了使檢測臉部可以從加速度計讀取軸並將源圖像旋轉到正確的方向發送到dlib面部檢測器之前,它檢測到確定,但在dlib :: full_object_detection形狀的輸出座標當然匹配旋轉的圖片,但不是原始的。所以這意味着我必須轉換(旋轉地標)回到原始圖像。OpenCV,dlib地標旋轉

在dlib或OpenCV中是否有任何現有API可以爲指定角度旋轉地標(dlib :: full_object_detection)?如果你能舉一些例子,這將是一件好事。

回答

0

對於iPhone應用程序,使用iPhone相機拍攝的圖像中的EXIF數據可用於首先旋轉圖像。但我不能保證這對於Android手機。

在大多數實際情況下,當原始圖像中的人臉檢測沒有返回任何結果(或返回奇怪的結果,如非常小的面部)時,旋轉圖像並執行人臉檢測會更容易。我已經在幾個Android應用程序中看到了這一點,並在幾個項目中使用了myseklf。