JavaCV使用@StdVector将Java数组传递给函数

时间:2014-01-10 20:24:24

标签: opencv javacv javacpp

我正在尝试调用JavaCV的groupRectangles函数。这是方法签名

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

从OpenCV文档中,参数一和二应该是std :: vector<&gt ;.我认为我应该传递某种形式的Java数组(本机数组,List等),但是,该方法只有@StdVector的注释,并且只接受一个对象。

有人可以提供一小段代码,说明如何通过传入两个Java列表或数组或其他方法来正确调用此方法。

1 个答案:

答案 0 :(得分:0)

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

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