最近在做圆形环状标记点检测问题,做个记录。此文是根据《Circular Coded Landmark for Optical 3D-Measurement and Robot Vision》论文实现的。

大概流程是

1 转灰度图

2 otsu转二值图

3 获取所有轮廓信息(我看好多人用的canny算法,我没有,此后有时间在做测试)

4 找到符合条件的mark的轮廓(论文中提供了很多限制条件,我只用了很小一部分,以后需要都加上,必须加上)

5 将mark轮廓拟合成椭圆

6 根据椭圆参数 仿射变换成300直径的圆(300直径主要是为了显示用,也可以变成任意直径,随你)

7 同样将所有mark内部的一级子轮廓进行仿射变换

8 获取mark和所有子轮廓的质心

9 根据质心位置关系和标记点的逻辑关系,确定二进制数

10 旋转二进制数,找到能组合出最小数值的排列组合作为mark数值

源代码下载:https://download.csdn.net/download/ljx_yy/10563191

(包含源码,标记点测试图,和标记点设计图,测试图是标准A4,可以直接打印)

标记点说明

内部点分为2层,外面代表高位,里面代表低位,各6位。高位和低位都是6边形,交叉摆放,每两个点之间的夹角是30度,

在使用时,高位和低位必须都同时存在。

PS:

标记点图:

轮廓图:

结果:

opencv圆形环状标记点检测相关推荐

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

    本来以为圆形检测比较简单,实际还是花费我近一上午时间,网上几乎没有相关资料(除了OpenCV官网).这里坐下简单介绍,分享给大家. 非对称圆形标定物检测: 1.findCirclesGrid函数的使用 ...

  2. 基于OpenCV的图像形状检测(含源码)

    导读 本文给大家分享一个用OpenCV传统方法实现形状检测的小案例. 背景介绍 实例来源:https://github.com/akshaybhatia10/ComputerVision-Projec ...

  3. python红绿灯检测opencv识别红绿灯信号灯检测

    python红绿灯检测opencv识别红绿灯信号灯检测 交通信号灯的检测与识别是无人驾驶与辅助驾驶必不可少的一部分,其识别精度直接关乎智能驾驶的安全.一般而言,在实际的道路场景中采集的交通信号灯图像具 ...

  4. 使用Python,OpenCV和Hough圆检测图像中的圆

    使用Python,OpenCV和Hough圆检测图像中的圆 1. 效果图 2. cv2.HoughCircles(image, method, dp, minDist) 3. 源码 参考 前几篇博客中 ...

  5. 用C++ 和OpenCV 实现视频目标检测(YOLOv4模型)

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 据说,现在很多小区都上线了AI抓拍高空抛物的黑科技,可以自动分析抛物 ...

  6. opencv 裁剪 java_如何在opencv java中裁剪检测到的面部图像

    我在 java中使用opencv 2.4.10检测到图像中的面部 我把我的面部检测代码. import org.opencv.core.Core; import org.opencv.core.Mat ...

  7. 用 Opencv 和 Python 模糊检测

    用 Opencv 和 Python 模糊检测 在刚刚过去的这个周末,我坐下来想在 iphoto 中整理这些海量的照片.这不仅仅意味着巨大的工作量,因为我很快注意到一个现象--其中充斥着大量模糊的照片. ...

  8. 使用OpenCV进行人脸关键点检测

    使用OpenCV进行人脸关键点检测 1 双脸效果 2 单脸效果

  9. OpenCV Fast角点检测

    FAST是一种用于角点检测的算法,该算法的原理是取图像中检测点,以改点为圆心的周围邻域内像素点判断监测点是否为角点. OpenCV中的FAST检测算法是用传统方法实现的. 实例化fast fast = ...

最新文章

  1. 开关电源三种控制模式:PWM/PFM/PSM
  2. unity android ndk的作用,Unity中编写Android下使用的so插件
  3. redis介绍以及使用 ppt_光纤收发器的工作原理以及使用方法介绍
  4. 50本精品前端开发书籍免费下载
  5. 苏州软件测试11k工资要什么水平,3个月从机械转行软件测试,他的入职薪资是11K...
  6. appium执行iOS测试脚本并发问题
  7. Java当中编码和解码(以及出现乱编码的原因)
  8. 数据结构之树的存储结构
  9. cs224 -Lecture 1:Introduction and Word Vectors
  10. 安防智能可视化管理在金融行业的应用
  11. vue路由钩子函数(进入和离开钩子函数)
  12. 基于单片机的智能密码锁设计
  13. 智慧能源一体化管控平台
  14. [转]Linux下的虚拟光驱和虚拟软驱
  15. 英语语法新思维初级分享
  16. 好程序员web前端分享如何构建单页Web应用
  17. 2019 美团校招笔试题 外卖满减
  18. NYOJ - 找点【贪心】
  19. java 手机应用开发
  20. 基于Python回归模型的异方差性分析

热门文章

  1. ROS如何进行开发?
  2. vue-fullcalendar做一个日历
  3. 反欺诈概念库-虚假交易
  4. 涂鸦秒变动画,CMU 中国本科生让画动起来(附代码 Demo)
  5. Java学习篇11——关于Object类的toString方法
  6. [python]利用随机api二次元图片
  7. 蒙卡罗树搜索(MCTS)——关于对UCB的理解
  8. Linux USB (目录)
  9. 小巧而又强大的翻译神器--QTranslate
  10. pythongui日历控件_Selenium2+python自动化25-js处理日历控件(修改readonly属性)