点击上方“Qt学视觉”,选择“星标”公众号重磅干货,第一时间送达

共同学习共同进步

1、如何查阅OpenCV官方说明文档

查阅地址:

https://docs.opencv.org/4.3.0/

我这里使用的是OpenCV4.3,所以我需要查阅的就是4.3版本的说明文档

上图就是OpenCV4.3官方文档的主界面

在这里我们需要查阅的就是calib3d模块,所以需要打开calib3d对应的内部说明介绍

逐步玩下拉,找到找棋盘格角点的函数

这里看到有好几个函数,我们需要了解的便是OpenCV4.3新出的

findChessboardCornersSB提取角点的函数,这函数会比以前版本的提取角点更加精确

2、findChessboardCornersSB提取角点

官方文档介绍

这里的参数主要有

image:源棋盘图。它必须是8位灰度或彩色图像。

patternSize:每个棋盘行和列的内角数 cv :: Size(columns,rows)

corners:输出角点

flags:标志位,各种操作标志,可以为零或以下值的组合:

  • CALIB_CB_NORMALIZE_IMAGE 在检测之前先使用equalizeHist来均衡化图像gamma值

  • CALIB_CB_EXHAUSTIVE 进行详尽的搜索以提高检测率.

  • CALIB_CB_ACCURACY 由于混叠效应,使样本输入图像上移以提高子像素精度.

  • CALIB_CB_LARGER允许检测到的图案大于patternSize

  • CALIB_CB_MARKER检测到的图案必须具有标记。如果需要精确的相机校准,则应使用此选项.

meta:检测到的角的可选输出数组(CV_8UC1,大小= cv::Size(列,行))。每个条目代表模式的一个角,并且可以具有以下值之一:

  • 0 = 未附加元数据

  • 1 = 黑色单元的左上角

  • 2 = 白色单元的左上角

  • 3 = 黑色单元格的左上角带有白色标记点

  • 4 = 白色单元格的左上角带有黑色标记点(如果是标记,则为图案原点,否则为第一个角)

该函数类似于findchessboardCorners,但使用本地化框式滤波器近似的变换对各种噪声更鲁棒,在较大的图像上更快,并且能够直接返回内部棋盘角的子像素位置。该方法基于论文[56]“用于校准的棋盘格角的精确检测和定位”,表明返回的子像素位置比cornerSubPix返回的子像素位置更精确,从而可以对要求苛刻的应用程序进行精确的相机校准。

在这种情况下,将给出标志CALIB_CB_LARGER或CALIB_CB_MARKER,可以从可选的元数组中恢复结果。这两个标志都有助于使用超出摄像机视场的校准图案。这些超大尺寸的图案允许更精确的校准,因为可以利用尽可能靠近图像边界的角。为了在所有图像上保持一致的坐标系,可以使用可选的标记(请参见下图)将板的原点移动到黑色圆圈所在的位置。

注意

该功能需要一块白色边框,其宽度与整个木板周围的棋盘区域之一的宽度大致相同,以改善在各种环境中的检测能力。另外,由于局部的transformation变换,将圆角用于位于板外部的场角是有益的。下图说明了为检测而优化的示例棋盘格。但是,也可以使用任何其他棋盘格。

normalize函数_提取棋盘格角点函数解析相关推荐

  1. matlab标定不是棋盘格,matlab 标定提取棋盘格角点调整参数

    新版的matlab自带标定工具包,为做标定的同学提供了很大方便.对于通常的图像,我们调用matlab工具包中的camera calibrator和 stereo camera calibrator可以 ...

  2. python normalize函数_数据正规化 (data normalization) 的原理及实现 (Python sklearn)

    原理 数据正规化(data normalization)是将数据的每个样本(向量)变换为单位范数的向量,各样本之间是相互独立的.其实际上,是对向量中的每个分量值除以正规化因子.常用的正规化因子有 L1 ...

  3. python normalize函数_归一化函数normalize详解

    opencv 2 归一化函数normalize详解 1. 归一化定义与作用 归一化就是要把需要处理的数据经过处理后 (通过某种算法)限制在你需要的一定范围内.首先归一化是为了后面数据处理的方便,其次是 ...

  4. normalize函数_【ADAMS】矩阵/数组函数

    导读:面向应用工程师的商业软件咨询.自研软件定制开发服务的仿真公众号,点击关注进入菜单,查看更多精彩内容. 矩阵/数组函数可很方便地完成针对矩阵/数组的操作. (1)矩阵/数组的基本操作函数 ALIG ...

  5. 低分辨率和畸变严重的棋盘格角点的自动检测

    文章:Automatic Detection of Checkerboards on Blurred and Distorted Images 作者:Martin Rufli, Davide Scar ...

  6. sprintf函数_三分钟学 Go 语言——函数深度解析(下) 可变参数

    接连两篇函数专题深度解析,相信大家已经对函数的语法有了深入的了解. 函数简单使用和基本知识解析 匿名函数和闭包 五一放假期间,我懂得,估计你们都不想学习. 小熊这两天因为个人种种令人难受的原因,没有能 ...

  7. PCL中点云特征描述与提取精通级实例解析

    PCL中点云特征描述与提取精通级实例解析 1 3D对象识别的假设验证 2 隐式形状模型方法 2.1 隐式形状模型识别方法概述 2.2 实例解析 1 3D对象识别的假设验证   本教程将学习在高噪声和严 ...

  8. opencv棋盘格角点检测原理总结

    第一步,局部平均自适应阈值化方法对亮度不均匀情况适应性强,因此用该方法对图像二值化,均衡化后得到了理想的门限,效果如图2所示. 第二步,图像膨胀分离各个黑块四边形的衔接,由于膨胀的是白色像素点,因此能 ...

  9. 【OpenCV3】棋盘格角点检测与绘制——cv::findChessboardCorners()与cv::drawChessboardCorners()详解

    棋盘格法是摄像机标定中常用的一种方法,在使用该方法时需要对棋盘格的角点进行检测.opencv中封装了一个专门用于棋盘格角点检测的函数即cv::findChessboardCorners(),同时,也提 ...

最新文章

  1. php 类调用本身方法,php几个关于类的预定义自动调用方法
  2. UNIX再学习 -- 环境变量
  3. 程序员30岁后,9分钟跑完1600米
  4. python接口自动化(十六)--参数关联接口后传(详解)
  5. Java 程序连接 Informix 数据库方法实例介绍
  6. 自己封装的一个js方法用于获取显示的星期和日期时间
  7. nginx服务器上 font awesome 字体不能正常显示
  8. 阿里2015回顾面试招收学历(获得成功offer)
  9. CentOS7默认安装PHP不支持mysql的办法
  10. 推荐linux输入法,linux中文输入法 【搞定技巧】
  11. 设定目标需要注意的事项
  12. 开源掌机芯片方案对比
  13. JavaWeb重点笔记
  14. 微软dowhy 项目 原理_Microsoft的DoWhy是因果推理的出色框架
  15. multisimbcd码_8421BCD码加法器报告1
  16. 阿里云数据库RDS如何监控、备份及克隆实例?
  17. Linux 驱动开发 六十六:多点触控(MT)协议
  18. 工具使用技巧:将图片公式转为Word里的公式
  19. iPhone 11系列发布:没有5G加持,苹果开始“不自信”了?
  20. 【HTTP劫持和DNS劫持】

热门文章

  1. Windows 系统补丁管理策略
  2. redis springmvc mysql_redis和mysql怎么一起在springmvc里面
  3. 糖豆人服务器要维护多久,糖豆人刚上四天,紧急维护9小时后又延长,玩家:从中午到现在了...
  4. 目前市场上的电脑一体机从计算机种类,一体机电脑与普通电脑的区别
  5. 创建接口匿名实现类的对象的四种方法
  6. 使用layer.tips实现鼠标悬浮时触发事件提示消息实现
  7. ajax 高并发请求,理解node.js处理高并发请求原理
  8. 计算机的硬件性能指标(图片部分资源摘自王道考研资料)
  9. 【软件开发底层知识修炼】十一 链接器-链接脚本
  10. hana-banach定理