本来以为圆形检测比较简单,实际还是花费我近一上午时间,网上几乎没有相关资料(除了OpenCV官网)。这里坐下简单介绍,分享给大家。

非对称圆形标定物检测:

1.findCirclesGrid函数的使用,如下:

            case ASYMMETRIC_CIRCLES_GRID:boardSize.width = 4;boardSize.height = 11;found = findCirclesGrid(view, boardSize, pointbuf, CALIB_CB_ASYMMETRIC_GRID | CALIB_CB_CLUSTERING, blobDetector);

标定图片:

需要注意的是:

1.boardSize 的宽度,需要设置为图片中固定个数的方向,如上图,水平方向,分别有5,6两种个数,垂直方向只有一种个数,因此,宽度设置为4,此后,以4为一行,则实际该图片在水平方向有11行,因此,高度设置为11.这里弄错,返回就是false了。

2.CALIB_CB_CLUSTERING 标志标识在检测到中心点后,会以层次Kmean方式聚类检测值,并计算检测点围成的凸包角点,并排序外部角点。同时,会根据排序后的2D外部角点和理想估计点,计算单应性H,再计算出所有监测点的投影点,再根据Knn选取跟理想估计点近似最近点,作为实际输出的圆形中点。

3.不设置CALIB_CB_CLUSTERING标志时,则根据CirclesGridFinder 类(几何特征),检测相关圆形,并排序输出。

对称圆形标志检测,流程与上面一致,只是不用关注长宽设置问题。

实际上,主要思路在于利用简单斑点检测器,检测出圆形后,做后续的相关过滤,排序,确认等操作。

相机模型与标定(十二)--opencv圆形标志点检测算法相关推荐

  1. 相机模型与标定(二)--相机模型

    原文: http://blog.csdn.net/lsh_2013/article/details/47615309 相机模型 数码相机图像拍摄的过程实际上是一个光学成像的过程.相机的成像过程涉及到四 ...

  2. 精通Android自定义View(十二)绘制圆形进度条

    1 绘图基础简析 1 精通Android自定义View(一)View的绘制流程简述 2 精通Android自定义View(二)View绘制三部曲 3 精通Android自定义View(三)View绘制 ...

  3. 《OpenCv视觉之眼》Python图像处理十二 :Opencv图像轮廓提取之基于一阶导数的Roberts算法、Prewitt算法及Sobel算法

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  4. vs2019 基于pcl和opencv的体积检测算法 zed版本+安卓端新手版(二)

    vs2019 基于pcl和opencv的体积检测算法 zed版本+安卓端新手版(二) Pcl库安卓端的环境配置和使用jni实现c++算法在安卓端的实现 Pcl库的编译 安装ubuntu系统 编译pcl ...

  5. 八十二、Python | Leetcode贪心算法系列

    @Author:Runsen @Date:2020/7/5 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  6. 十二之续、快速排序算法的深入分析

    十二之续.快速排序算法的深入分析 作者:July   二零一一年二月二十七日 -------------------------- 前言 一.快速排序最初的版本 二.Hoare版本的具体分析 三.Ho ...

  7. 强化学习经典算法笔记(十二):近端策略优化算法(PPO)实现,基于A2C(下)

    强化学习经典算法笔记(十二):近端策略优化算法(PPO)实现,基于A2C 本篇实现一个基于A2C框架的PPO算法,应用于连续动作空间任务. import torch import torch.nn a ...

  8. 相机模型与标定(四)--opencv单目标定例子使用说明

    原文: http://blog.csdn.net/t247555529/article/details/47836233 最近一个项目要进行相机的标定,作为一个菜鸟,瞎搞一下午才搞定,于是写篇博客记录 ...

  9. 相机模型与标定(十)--RANSAC算法

    转自王先荣先生: http://www.cnblogs.com/xrwang/archive/2011/03/09/ransac-1.html 本文翻译自维基百科,英文原文地址是:http://en. ...

最新文章

  1. 用户故事为什么要关联开发数据?
  2. 列表表格以及媒体元素
  3. 创建IT运维管理门户
  4. 【牛客 - 283F】出装方案(最小费用最大流)
  5. [Git高级教程 (一)] 通过 Tag 标签回退版本修复 bug
  6. OS复习——设备管理习题
  7. vtigerCrm 目录结构(整理中)
  8. uva 10803(floyd)
  9. 安卓手机连接Mac电脑可用的管理工具:Android File Transfer
  10. [...ServerPropertiesAutoConfiguration.class] cannot be opened because it does not exist
  11. 记录TPTP监控tomcat
  12. 关于ES6中let 和 const 命令的用法以及注意事项:
  13. ECL模型计量与应用
  14. 移动支付难倒老年人 如何让他们不被时代抛弃?
  15. iphone忘记密码了怎么开锁
  16. 【原】充电桩APP-原型设计
  17. 数组:翻转指定的次数
  18. TENER: Adapting Transformer Encoder for Named Entity Recognition
  19. (一)创建项目——vue-cli3实例:电商分类网页
  20. 常用多模态医学影像融合数据集

热门文章

  1. Fuchsia中GN与Ninja构建demo
  2. Android视频录制-MediaRecorder流程
  3. Android Track的play流程(三十二)
  4. VALSE学习(十九):VALSE2018-历届资源汇总
  5. Android Studio的build.gradle里面的各种版本信息
  6. tkinter label_tkinter版自制王者荣耀抽卡程序
  7. 效果过度transition:all
  8. 计算机内存的基本储存单元,计算机信息存储单元的结构解析
  9. 右键 无响应_26个你需要学习的Firefox配置技巧,改进和加快浏览器响应速度
  10. sse java8_Java SSE 服务器推送WEB页面接收数据