news 2026/4/18 12:03:13

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/18 3:49:27

Open-AutoGLM是否需root?一文看懂容器化环境下的权限最佳实践

第一章:Open-AutoGLM需要root吗?Open-AutoGLM 是一个面向自动化任务的开源大语言模型推理框架,支持在多种设备上部署和运行。其设计目标是降低本地化部署门槛,因此在权限管理方面做了充分优化。是否需要 root 权限,取决于具体的部…

作者头像 李华
网站建设 2026/4/18 8:35:00

cogagent与Open-AutoGLM协同实战:3个关键集成场景与性能优化技巧

第一章:cogagent与Open-AutoGLM协同架构概览 在现代自动化机器学习(AutoML)系统中,cogagent 与 Open-AutoGLM 的协同架构为智能模型构建提供了高效、可扩展的解决方案。该架构通过将任务感知代理(cogagent)…

作者头像 李华
网站建设 2026/4/18 3:51:58

Python+Vue的医院人力资源管理系统 Pycharm django flask

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

作者头像 李华
网站建设 2026/4/18 3:52:32

Python+Vue的 智慧出租管理系统Pycharm django flask

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

作者头像 李华
网站建设 2026/4/18 3:51:51

Python+Vue的网上鲜花销售系统 Pycharm django flask

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

作者头像 李华