有效的随机圆检测

news2024/10/5 14:00:49

文章目录

  • 0、 摘要:
  • 一、 Base Idea
  • 二、 Determining Possible Circle
    • 2.1 判别条件
    • 2.2 圆的判别
  • 三、Determining True Circles
  • 四、The Proposed RCD
  • 五、改进
  • 六、参考
    • 在这里插入图片描述

有效的随机圆检测

0、 摘要:

参考的文章提出了一种有效的不基于霍夫变换(HT)的随机圆检测算法(RCD)。提出的RCD的主要概念是,首先在图像中随机选择4个边缘像素,并定义一个距离准则来确定图像中是否存在可能的圆;在找到一个可能的圆后,应用证据收集过程来进一步确定可能的圆是否为真实的圆。对一些不同噪声水平的合成图像和一些含有一些遮挡圆和缺失边的圆形物体的真实图像进行了性能测试。实验结果表明,在光水平和中等水平之间的噪声水平上,所提出的RCD比其他基于HT的方法更快。对于高噪声水平,随机HT可能比提议的RCD更快,但以牺牲大量的内存需求为代价。

  • 算法原理步骤
    • 第一小节描述了所提出的RCD的基本思想。
    • ​第二小节展示了用于确定所选的四个边缘像素是否位于一个可能的圆上的距离准则。
    • 第三小节描述了如何检查可能的圆是否为真实的圆,即所期望的圆。
    • 第四小节展示所提出的RCD的形式化算法。

一、 Base Idea

设V表示图像中所有边缘像素的集合。在本文中,提出了一种非基于HT的随机圆检测算法。该算法算法每次随机选取4个边缘像素,并定义了一个距离准则来找到一个可能的圆。这种修改可以导致内存节省和计算效率的效果。如图1所示,四个边像素一般可以确定四个圆。
在这里插入图片描述

二、 Determining Possible Circle

将描述如何根据四个被选择的边缘像素来确定一个可能的圆。

2.1 判别条件

定义圆的表示方程:
在这里插入图片描述
选取四个点中的三个点带入上面的公式中,并将其转换为矩阵形式,通过高斯消元法和克莱姆法则计算圆心和半径。在应用克莱姆法则时,因三个点是非线性关系,因此在这里插入图片描述
如果为0,则说明三点共线,不可能形成圆。在这里插入图片描述
计算第四个点到拟合圆心的距离,如果距离等于半径,说明该点在圆上。由于是数字图像,所以边缘像素很少恰好出现在一个圆上。因此,圆检测的目标是检测一组不精确而是大致位于数字圆上的边缘像素(见图2)。
在这里插入图片描述

2.2 圆的判别

依据上述内容,将四个点进行排列组合(4选3)拟合圆,并计算第四个点到圆心的距离,如果距离小于给定的距离阈值,则该圆可能是待求圆。
另一个弊端:其中两个圆太近,导致拟合的圆错误,如图4。为了避免这种情况,任意两个代理像素之间的距离必须大于给定的阈值Ta。如果是这样,这就意味着这三个代理像素有强有力的证据表明它们是可能的圆的代表。
在这里插入图片描述

三、Determining True Circles

在这里插入图片描述

四、The Proposed RCD

在这里插入图片描述

五、改进

  • 改进1:拉取github上的代码,测试发现最后输出的结果存在一个位置输出多个圆的情况;
  • 改进2:增减最小最大半径过滤;

六、参考

[1]:An Effificient Randomized Algorithm for Detecting Circles;
Teh-Chuan Chen and Kuo-Liang Chung
[2]:https://github.com/kevinhughes27/circleDetector


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/817520.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文教你搭建工程化开发环境!

搭建工程化开发环境 下载 Node.js 官方下载地址 https://nodejs.org/zh-cn/download/releases node.js 版本迭代的非常快,目前官方已经推出到 v19.2.0 版本了,相对是一个比较新的版本了。建议下载 v14.18.3 版本,至少这个版本目前在很多项…

【kubernetes系列】flannel之vxlan模式分析

概述 在Kubernetes中要保证容器之间网络互通,网络至关重要。而Kubernetes本身并没有自己实现容器网络,而是而是借助CNI标准,通过插件化的方式自由接入进来。在容器网络接入进来需要满足如下基本原则: Pod无论运行在任何节点都可…

有趣的Python之基本语法(一篇足够)

目录 Python简介 基本数据类型 进入交互模式 input()函数 条件语句 逻辑运算符 列表list 元组 字典 循环语句 format()方法和f 定义函数 python中的标准库引入 引入第三方库模块 面向对象 读文件 写文件 异常处理 Python简介 面向对象编程、函数式编程和过程…

二 动手学深度学习v2笔记 —— 线性回归 + 基础优化算法

二 动手学深度学习v2 —— 线性回归 基础优化算法 目录: 线性回归基础优化方法 1. 线性回归 总结 线性回归是对n维输入的加权,外加偏差使用平方损失来衡量预测值和真实值的差异线性回归有显示解线性回归可以看作是单层神经网络 2. 基础优化方法 梯度下降 小批量…

4通道高速数据采集卡推荐哪些呢

FMC141是一款基于VITA57.4标准的4通道2.8GSPS/2.5GSPS/1.6GSPS采样率16位DA播放FMC子卡,该板卡为FMC标准,符合VITA57.4与VITA57.1规范,16通道的JESD204B接口通过FMC连接器连接至FPGA的高速串行端口。 该板卡采用TI公司的DAC39J84芯片&#x…

【玩转Linux】Linux输入子系统简介

(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&#x…

LeetCode每日一题Day1——买卖股票的最佳时机

✨博主:命运之光 🦄专栏:算法修炼之练气篇(C\C版) 🍓专栏:算法修炼之筑基篇(C\C版) 🐳专栏:算法修炼之练气篇(Python版) ✨…

青大数据结构【2016】

一、单选 二、简答 3.简述遍历二叉树的含义及常见的方法。

shiro550反序列化漏洞原理与漏洞复现(基于vulhub,保姆级的详细教程)

漏洞原理 本文所有使用的脚本和工具都会在文末给出链接,希望读者可以耐心看到最后。 啥是shiro? Shiro是Apache的一个强大且易用的Java安全框架,用于执行身份验证、授权、密码和会话管理。使用 Shiro 易于理解的 API,可以快速轻松地对应用程序进行保…

代码随想录算法训练营之JAVA|第十七天| 654. 最大二叉树

今天是第17天刷leetcode,立个flag,打卡60天。 算法挑战链接 654. 最大二叉树https://leetcode.cn/problems/maximum-binary-tree/description/ 第一想法 错误的想法,就不说了。 看完代码随想录之后的想法 用递归模拟真实的过程 如果我…

【iOS】通知原理

我们可以通过看通知的实现机制来了解通知中心是怎么实现对观察者的引用的。由于苹果对Foundation源码是不开源的,我们具体就参考一下GNUStep的源码实现。GNUStep的源码地址为:GNUStep源码GitHub下载地址, 具体源码可以进行查看。 通知的主要流程 通知全…

AD21 PCB设计的高级应用(二)PCB常见走线等长设计

(二)PCB常见走线等长设计 1.蛇形线的等长设计2.DDR的等长分组3.等长的拓扑结构3.1 点对点连接3.2 T型拓扑结构3.3 菊花链拓扑结构 1.蛇形线的等长设计 在 PCB 设计中,网络等长调节目的就是为了尽可能地降低信号在 PCB上传输延迟的差异。在 Altium Desig…

C语言第十三课--------初阶指针的认识--------重要部分

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 🎂 作者介绍: 🎂🎂 🎂…

JavaSE类和对象(重点:this引用、构造方法)

目录 一、类的定义方式以及实例化 1.面向对象 Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在Java的世界里一切皆为对象。 2.类的定义和使用 1.在java中定义类时需要用到class关键字 3.类的实例化 4.类实例化的使用 二、this引用 …

面试中常聊 AMS,你是否又真的了解?

在面试的时候,经常会被问到这些问题: 对Activity的启动流程了解吗?AMS在Android起到什么作用,简单分析下Android的源码system_server为什么要在Zygote中启动,而不是由init直接启动呢?为什么要专门使用Zygote进程去孵…

有点慌,新公司项目构建用的Gradle

入职新公司,构建项目的工具用的gradle,以前没用过,看到一个build.gradle,点进去,心里一句我曹,这写的都是些什么玩意,方得一批,赶紧去补了下课。 好吧,先学点语法&#…

根据选择内容自动生成正则表达式

地址: https://regex.ai/ 如何使用? 比如我这里有个需求: 提取图片路径中的文件名 https://wx4.sinaimg.cn/mw1024/0040jbadly1hg5nk0l3gtj62c0340kjl02.jpg 提取出0040jbadly1hg5nk0l3gtj62c0340kjl02.jpg 数据越多越准确 左边提供数据, 右边给出需要提取的数据, 点击run&…

地产变革中,物业等风来

2023年7月,也许是中国房地产行业变局中的一个大拐点。 中信建投研报表示,政治局会议指出当前我国房地产形势已发生重大变化,要适时调整优化政策,为行业形势定调……当前房地产行业β已至。 不久前,国家统计局公布了2…

Mag-Fluo-4 AM,镁离子荧光探针,是一种有用的细胞内镁离子指示剂

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ PART1----产品描述: 镁离子荧光探针Mag-Fluo-4 AM,具细胞膜渗透性,对镁离子(Mg2) 和钙离子(Ca2)的 Kd 值分别是 4.7mM 和 22mM&#xff0c…

运维:Multipass软件让你的虚拟机管理更简单高效

一、Multipass是什么? 官网:https://multipass.run/ 一提到虚拟机大家一般都会想到VMvare和Virtual Box这两个的虚拟机软件,这两个软件一个比较麻烦的地方是安装完虚拟机以后还需要下载操作系统镜像。小编偶然间发现了Multipass。这款轻量级的…