OpenCV的findCirclesGrid函数中CALIB_CB_CLUSTERING标志的用途是什么?

时间:2019-05-14 09:17:19

标签: opencv parameters camera-calibration high-resolution

我正在使用openCV的 findCirclesGrid() 查找高分辨率相机拍摄的图像中的不对称圆的网格。

我尝试将 SimpleBlobDetector 参数更改为: -blobParms.filterByInertia = false; -blobParms.minArea = 2500; -blobParms.maxArea = 50000; 该功能无法检测到圆圈。

SimpleBlobDetector::Params blobParms;
blobParms.filterByInertia = false;
blobParms.minArea = 2500;
blobParms.maxArea = 50000;
Ptr<SimpleBlobDetector> detector = SimpleBlobDetector::create(blobParms);

CirclesGridFinderParameters parms;

findCirclesGrid(inputImageGray, gridSize, foundCircleCenters, CALIB_CB_ASYMMETRIC_GRID , detector, parms);

但是当我添加 CALIB_CB_CLUSTERING 标志时,该函数成功地能够检测网格!

SimpleBlobDetector::Params blobParms;
blobParms.filterByInertia = false;
blobParms.minArea = 2500;
blobParms.maxArea = 50000;
Ptr<SimpleBlobDetector> detector = SimpleBlobDetector::create(blobParms);

CirclesGridFinderParameters parms;

findCirclesGrid(inputImageGray, gridSize, foundCircleCenters, CALIB_CB_ASYMMETRIC_GRID + CALIB_CB_CLUSTERING, detector, parms);

任何人都可以解释一下如果使用此标志会发生什么变化?

0 个答案:

没有答案