发出SimpleBlobDetector的初始化参数

时间:2018-11-08 08:21:23

标签: c++ opencv c++-cli

这是我的代码:

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是过去的项目,没有任何问题。

0 个答案:

没有答案