这是我的代码:
SimpleBlobDetector::Params params;
//Filter by Area
params.filterByArea = true;
params.minArea = 5000; //Filters out areas less than 5000 pixels.
//Filter by Circularity.
params.filterByCircularity = true; //Circle has circularity = 1.000
params.minCircularity = 0.79F; //Square has circularity = 0.785
//Filter by Convexity
params.filterByConvexity = true;
params.minConvexity = 0.10F;
//Filter by Inertia
params.filterByInertia = true;
params.minInertiaRatio = 0.01F;
Ptr<SimpleBlobDetector> d = SimpleBlobDetector::create(params);
vector<KeyPoint> keypoints;
d->detect(processed_src, keypoints);
drawKeypoints(src, keypoints, im_with_keypoints, Scalar(0, 255, 0), DrawMatchesFlags::DRAW_RICH_KEYPOINTS);
我直接从OpenCV版本> = 3的SimpleBlobDetector教程中获取信息。我收到Ptr<SimpleBlobDetector> d = SimpleBlobDetector::create(params);
发出的以下错误消息,显然,参数设置不正确。请参阅以下错误消息:
E0312-从“ cv :: SimpleBlobDetector :: Params”到“ const std :: string”的用户定义的转换不存在
有人可以解释为什么吗?我用过SimpleBlobDetector是过去的项目,没有任何问题。