news 2026/5/3 17:14:20

cv.drawChessboardCorners 是 OpenCV 中用于可视化棋盘格角点检测

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
cv.drawChessboardCorners 是 OpenCV 中用于可视化棋盘格角点检测

cv.drawChessboardCorners 是 OpenCV 中用于可视化棋盘格角点检测

cv.drawChessboardCorners 是 OpenCV 中用于可视化棋盘格角点检测结果的核心函数,常配合 cv.findChessboardCorners 使用,主要用于相机标定、立体视觉等场景的结果验证。

函数基本信息

函数原型(Python 版)

cv.drawChessboardCorners(image, patternSize, corners, patternWasFound) → image

参数说明

返回值

绘制了角点的图像(与输入 image 是同一对象,原地修改)。

核心功能

完整检测到角点:绘制所有角点,并连接成棋盘格网格(彩色线条);
未完整检测到角点:仅绘制检测到的零散角点(无网格);
角点以红色小圆点标记,网格以彩色线条连接(便于直观验证检测效果)。

使用步骤(完整示例)

完整代码(棋盘格角点检测 + 可视化)
# -*- coding:utf-8 -*-importcv2 as cvimportsysif__name__=='__main__':# 读取图像image1=cv.imread('./images/test01.jpg')image2=cv.imread('./images/test02.png')ifimage1 is None or image2 is None: print('Failed to read test01.jpg or test02.png.')sys.exit()# 转为灰度图像gray1=cv.cvtColor(image1, cv.COLOR_BGR2GRAY)gray2=cv.cvtColor(image2, cv.COLOR_BGR2GRAY)# 定义数目尺寸board_size1=(9,6)board_size2=(7,7)# 检测角点_, points1=cv.findChessboardCorners(gray1, board_size1)_, points2=cv.findCirclesGrid(gray2, board_size2)# 细化角点坐标_, points1=cv.find4QuadCornerSubpix(gray1, points1,(5,5))_, points2=cv.find4QuadCornerSubpix(gray2, points2,(5,5))# 绘制角点检测结果image1=cv.drawChessboardCorners(image1, board_size1, points1, True)image2=cv.drawChessboardCorners(image2, board_size2, points2, True)# 展示结果cv.imshow('Square Result', image1)cv.imshow('Circle Result', image2)cv.waitKey(0)cv.destroyAllWindows()

关键说明

棋盘格准备:需使用黑白相间的棋盘格(如 9x6 内角点对应 10x7 个方格);
亚像素细化:cv.cornerSubPix 是可选步骤,但能大幅提升角点坐标精度(对相机标定至关重要);
检测失败处理:若 ret=False,说明未完整检测到所有角点,需检查图像(如光照、棋盘格完整性)。

常见问题与解决方案

扩展应用

cv.drawChessboardCorners 常与相机标定流程结合:
检测多张棋盘格图像的角点;
用 cv.calibrateCamera 计算内参 / 外参;
用 cv.undistort 校正图像畸变;
绘制角点验证标定结果的准确性。
如果需要相机标定的完整代码示例,可以补充说明,我会进一步完善。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 14:15:42

千万不能错过!运城最强品牌策划公司揭秘,选错损失巨大!

千万不能错过!运城最强品牌策划公司揭秘,选错损失巨大!在当今竞争激烈的市场环境中,品牌策划对于企业的成功至关重要。一个好的品牌策划公司能够帮助企业塑造独特的品牌形象,提升市场竞争力。然而,在众多的…

作者头像 李华
网站建设 2026/5/3 20:16:09

【大模型落地必看】:智普Open-AutoGLM国内镜像部署避坑清单TOP6

第一章:智普Open-AutoGLM国内镜像部署概述智普AI推出的Open-AutoGLM是一款面向自动化任务的大语言模型工具,支持代码生成、自然语言理解与多轮对话能力。由于国际网络访问限制及数据合规要求,国内用户在使用时推荐通过国内镜像源进行部署&…

作者头像 李华
网站建设 2026/5/2 13:12:37

事件型报文

DBC配置 Com模块配置这里默认只需要配置ComTxModeTrue, 如果想ComTxModeTrue和ComTxModeFalse都需要用到,需要在ComSignalGroups或ComSignals中添加ComFilter;在报文的信号中或者在信号组中配置属性Transfer Property - TRIGGERED: the transmission of …

作者头像 李华
网站建设 2026/4/29 17:40:03

Python+Vue的流浪动物救助系统的设计与实现 Pycharm django flask

这里写目录标题项目介绍项目展示详细视频演示技术栈文章下方名片联系我即可~解决的思路开发技术介绍性能/安全/负载方面python语言Django框架介绍技术路线关键代码详细视频演示收藏关注不迷路!!需要的小伙伴可以发链接或者截图给我 项目介绍 流浪动物管…

作者头像 李华
网站建设 2026/4/28 16:23:03

不再分散在多个系统,Intercom Phone 统一所有通话与对话!

将电话、语音、视频与客户上下文无缝整合,让团队在一个平台内更快解决复杂问题。 客户沟通变复杂,往往不是问题更多了,而是工具太分散。电话、聊天、视频和屏幕共享分布在不同系统中,信息被割裂,客服只能不断切换界面&…

作者头像 李华
网站建设 2026/5/1 9:47:44

AI创业心得:从被割到开发PanelAI+AIStarter的坚持之路

大家好,我是AI技术爱好者熊哥。最近忙录视频、测试AIStarter和PanelAI,占了大部分时间。分享创业心路,从被恒大等大公司欠款“割”到开发AI项目,坚持不易。希望激励有类似经历的朋友,避免价格战陷阱。 录视频的日常&a…

作者头像 李华