C++ OpenCV findCirclesGrid()无法提取到圆点中心

本文介绍了在使用OpenCV的findCirclesGrid()函数进行圆点标定时遇到的问题,特别是在处理存在较大透视畸变的图片时无法提取到圆点中心。通过对函数参数的调整,特别是利用flags参数增强算法的鲁棒性,成功解决了这一问题。测试结果显示,修改后的代码能够正确提取到圆心。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


问题概览

近期使用OpenCV的库函数findCirclesGrid()做圆点标定中的特征点提取时,发现对于部分存在较大透视畸变的标定图片,findCirclesGrid()可能会出现提取不到圆点的情况
在这里插入图片描述

函数定义

bool cv::findCirclesGrid	(	InputArray 	image,
								Size 	patternSize,
								OutputArray 	centers,
								int 	flags = CALIB_CB_SYMMETRIC_GRID,
								const Ptr< FeatureDetector > & 	blobDetector = SimpleBlobDetector::create() 
							)	
  • image:输入图像(格式:cv::Mat)
  • patternSize:特征点的横纵向数量(格式:cv::Size)
  • centers:输出提取到的特征点像素坐标集合(格式:vector< vector< cv::Point2f > >)
  • flags :(默认缺省)标识符,标识所采用的图案类型(对称圆点CALIB_CB_SYMMETRIC_GRID or 非对称圆点CALIB_CB_ASYMMETRIC_GRID)以及相关的算法参数
  • blobDetector :(默认缺省ÿ
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ViolentElder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值