2012-05-24 132 views
0

我使用以下代碼在iPhone上使用OpenCV執行人臉檢測。OpenCV人臉檢測 - 矢量問題

std::vector<Rect> faces; 

face_cascade.detectMultiScale(frame_gray, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, cv::Size(15, 15)); 

然而,當我嘗試構建應用程序,錯誤是在detectMultiScale函數調用拋出。 「沒有匹配的成員函數調用'detectMultiScale'」。

以下進一步給出解釋:

Error Message

的錯誤閱讀:Candidate function not viable: no known conversion from 'std::vector<Rect>' to 'vector<Rect> &' for 2nd argument.

這到底是怎麼回事?很明顯,編譯器會對第二個參數提出問題。我是否使用不同類型的矢量?

謝謝,詹姆斯

的XCode 4.2.1 SDK 5.0 OpenCV的2

+0

我不知道你是誰?如果你刪除'std ::'命名空間顯式作用域,它會編譯嗎?如果是這樣,那麼在OpenCV中查找'vector'的定義,因爲它們可能已經定義了它們自己的。有一個'cv :: Vector'這可能是你應該使用的類型...我不熟悉這個庫。 – AJG85

+0

很確定我應該使用'std ::'。試過'cv ::'沒有效果。 – James

+0

也許嘗試'使用std :: vector;'指令然後將其聲明爲'vector faces;'由於範圍限定符導致過載不匹配,似乎認爲需要轉換。 – AJG85

回答

1

你必須在開始添加

using namespace cv;