findCirclesGrid函数求教!

折腾了两天,是findCirclesGrid(frame,patternsize,key_points,CALIB_CB_SYMMETRIC_GRID|4)函数终于能够将检测的到的点存进vector<Point2f> key_points了。但是如果程序语句是findCirclesGrid(frame,patternsize,key_points,CALIB_CB_SYMMETRIC_GRID|4,blobDetector),也就是多定义了blobDetector,则程序运行到findcirclegrid语句时,按F10,则返回值为false,blobDetector定义如下:


double minValue = 255;
double maxValue = 0;
SimpleBlobDetector::Params blobparams;
blobparams.filterByArea = true;
blobparams.minArea = 800;
blobparams.maxArea = 40000;
blobparams.minThreshold = (float)minValue + 1;
blobparams.maxThreshold = (float)maxValue;
blobparams.filterByCircularity = false; //斑点圆度
blobparams.minCircularity = (float)0.5;
blobparams.maxCircularity = 1;
blobparams.filterByConvexity = true; //斑点凸度
//blobparams.minConvexity = (float)0.2;
blobparams.maxConvexity = 1;
blobparams.filterByInertia = true; //斑点惯性率
blobparams.minInertiaRatio = (float)0.4;
blobparams.maxInertiaRatio = 1;
blobparams.filterByColor = false;
//blobparams.thresholdStep = 2;
//blobparams.minRepeatability = new intPtr(2);
Ptr<FeatureDetector> blobDetector = new SimpleBlobDetector(blobparams);

似乎设置的 blobDetector 不起作用,请大神帮忙诊断一下,不胜感激,以下是处理的图像。

猜你喜欢

转载自www.cnblogs.com/tomatoman/p/9320766.html