角点检测 cv2.findChessboardCorners函数无返回的原因

该函数findChessboardCorners用于在图像中寻找棋盘格的角点,返回值表示是否成功。参数包括图像、棋盘格尺寸和标志选项,如自适应阈值和轮廓过滤。当输入的棋盘格尺寸不匹配时,检测将失败。示例代码展示了不同尺寸参数对检测结果的影响。
摘要由CSDN通过智能技术生成

findChessboardCorners(image,patternSize,corners,flags = None)
此函数试图确定输入图片是否有棋盘图案,并定位棋盘板上的内角点。如果所有的角点被找到且以一定的顺序排列(一行接一行,从一行的左边到右边),该函数会返回一个非零值。另外,如果该函数没有找到所有的角点或者重新排列他们,则返回0。


参数
image:输入原始的棋盘板图像。该图像必须是一张8位的灰度图或色彩图。

patternSize:(w,h),棋盘上每一排和每一列的内角数。w=棋盘板一行上黑白块的数量-1,h=棋盘板一列上黑白块的数量-1,例如:10x6的棋盘板,则(w,h)=(9,5)

corners:array,检测到的角点的输出数组。

flags:int,不同的操作标记,能够为0或者下述值的组合:

CALIB_CB_ADAPTIVE_THRESH 使用自适应阈值法把图像转换为黑白图,而不是使用一个固定的阈值。

CALIB_CB_NORMALIZE_IMAGE 在利用固定阈值或自适应阈值法二值化图像之前,利用直方图均衡化图像。

CALIB_CB_FILTER_QUADS 使用额外的标准(如轮廓面积,周长,正方形形状)来过滤掉在轮廓检索阶段提取的假四边形。

CALIB_CB_FAST_CHECK 对图像运行一个快速检查机制以查找棋盘板的角点,如果没有找到角点则返回一个快捷提醒。当没有观察到棋盘时,可以极大地加快在退化条件下的调用。


对于下面这张图,(w,h)选值不对时,角点检测无结果,ret=False

# Find the chessboard corners
nx=9
ny=6
ret, corners = cv2.findChessboardCorners(gray, (nx, ny), None)

print('ret:',ret)

# Find the chessboard corners
nx=8
ny=5
ret, corners = cv2.findChessboardCorners(gray, (nx, ny), None)

print('ret:',ret)


 

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值