2014-01-10 57 views
2

我想調用JavaCV的groupRectangles函數。下面是該方法的簽名JavaCV將Java數組傳遞給具有@StdVector的函數

@Namespace("cv") public static native void groupRectangles(@StdVector("CvRect,cv::Rect") CvRect rectList, 
     @StdVector IntPointer weights, int groupThreshold, double eps/*=0.2*/); 

從OpenCV的文檔,參數一個和兩個應的std ::矢量<>的。我會假設我應該傳遞某種形式的Java數組(本地數組,List等),但是,該方法只有一個@StdVector的註釋,並且只接受一個對象。

有人可以提供一個非常小的代碼片段,展示如何通過傳遞兩個Java列表或數組或其他方法來正確調用此方法。

回答

0

我通過郵件列表here找到了答案。我做的唯一修改如下:

final CvRect rectsPointer = new CvRect(faces.size()); 
for (int i=0; i<faces.size(); ++i) 
    rectsPointer.position(i).put(faces.get(i));