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

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

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

函数基本信息

函数原型(Python 版)

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

参数说明

返回值

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

核心功能

完整检测到角点:绘制所有角点,并连接成棋盘格网格(彩色线条);

未完整检测到角点:仅绘制检测到的零散角点(无网格);

角点以红色小圆点标记,网格以彩色线条连接(便于直观验证检测效果)。

使用步骤(完整示例)

完整代码(棋盘格角点检测 + 可视化)
bash 复制代码
# -*- coding:utf-8 -*-
import cv2 as cv
import sys


if __name__ == '__main__':
    # 读取图像
    image1 = cv.imread('./images/test01.jpg')
    image2 = cv.imread('./images/test02.png')
    if image1 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 校正图像畸变;

绘制角点验证标定结果的准确性。

如果需要相机标定的完整代码示例,可以补充说明,我会进一步完善。

相关推荐
星环科技2 小时前
什么是 LLMOps?一文解析大语言模型运维(LLMOps)
人工智能·深度学习
电商API_180079052472 小时前
进阶篇:电商商品评论情感分析 + 关键词挖掘(Python NLP 实战)
大数据·开发语言·网络·数据库·人工智能
绒绒毛毛雨2 小时前
Tending Towards Stability : Convergence Challenges in Small Language Models
人工智能·深度学习·语言模型
星环科技2 小时前
AI-Ready数据平台赋能企业数智化转型
人工智能
派葛穆2 小时前
机器人-六轴机械臂的正运动学
人工智能·机器学习·机器人
zyxzyx492 小时前
AI 核心趋势:多模态融合、AI Agent 与低代码开发的落地场景与挑战
人工智能
PPIO派欧云2 小时前
PPIO上线智谱最新旗舰模型GLM-4.7
人工智能
光羽隹衡2 小时前
《深度学习》CUDA安装配置、pytorch库、torchvision库、torchaudio库安装
人工智能·pytorch·深度学习
深圳市快瞳科技有限公司2 小时前
基于计算机视觉的鸟类数量统计技术原理解析
人工智能·计算机视觉