gpt4 book ai didi

c++ - openCV没有匹配函数fillPoly

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:56 24 4
gpt4 key购买 nike

我正在尝试实现 this回答,但我总是出错。请帮忙。

我的代码:

cv::Point corners[1][6];

for (unsigned long j = startIndex; j < startIndex+6; j++) {
int x = shape.part(j).x();
int y = shape.part(j).y();

corners[0][j-startIndex] = Point(x, y);
}
const Point* corner_list[1] = {corners[0]};

cv::Mat mask(image.rows, image.cols, CV_8UC2);
cv::fillPoly(mask, corner_list, 6, 1, cv::Scalar(255), 8);
cv::Mat result(image.size(), image.type(), cv::Scalar(0,0,0));
image.copyTo(result, mask);

这是我的错误:

jni/jni_detections/jni_face_det.cpp:121:5: error: no matching function for call to 'fillPoly'
cv::fillPoly( mask, corner_list, num_points, num_polygons, cv::Scalar( 255, 255, 255 ), line_type);
^~~~~~~~~~~~
/home/feli/Development/android/test/dlib/dlib-android/third_party/opencv/jni/include/opencv2/imgproc.hpp:3987:17: note:
candidate function not viable: no known conversion from 'int' to 'const int *' for 3rd argument; take the address of
the argument with & CV_EXPORTS void fillPoly(Mat& img, const Point** pts,
^
/home/feli/Development/android/test/dlib/dlib-android/third_party/opencv/jni/include/opencv2/imgproc.hpp:4005:19: note:
candidate function not viable: no known conversion from 'const Point *[1]' to 'const cv::_InputArray' for 2nd argument
CV_EXPORTS_W void fillPoly(InputOutputArray img, InputArrayOfArrays pts,
^

我的OpenCV版本是3.1.0

最佳答案

我需要像这样传递 numPoints 参数的指针:

int num_points = 6;
cv::fillPoly(mask, corner_list, &num_points, 1, cv::Scalar(255), 8);

谢谢@Tim Sweet

关于c++ - openCV没有匹配函数fillPoly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45441744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com