python-3.x - 寻找圆的标准差 - OpenCV 相关
问题描述
我有一堆圆圈(相交和非相交圆圈)的图像。我必须将它们中的每一个(仅不相交)分组为三个圆圈,以便圆圈之间的距离必须最小并且它们之间的标准偏差最小,并且对于这些圆圈只返回一个具有最小距离和标准偏差的组。
每个 Circle 都有 x,y,r 等值,其中 x,y 是圆心,r 是半径。
我的主要目的是在给定图像中找到交通灯信号(红色、黄色和绿色圆圈)。
解决方案
我可以想到以下算法:
- 为所有圆心构建一个 KD 树。
- 现在重复以下内容:
i) 选择一个随机圆 A 并找到其最近的邻居 B。如果存在圆碰撞或半径偏差大于某个阈值标记 B 以供以后使用。重复直到找到可接受的邻居 B。如果没有找到标记 A 供以后使用。如果找到 B,则重做该过程以在 A 附近找到 C。如果没有找到 C,请尝试靠近 B。如果 A、B、C 都找到标记为交通灯信号。(通过测量圆和对齐的中心之间的距离来验证)
ii) 现在取消标记非交通灯圈并重复 i) 直到找不到更多的 A、B、C。
整个算法类似于聚合聚类的一些变体,产生了 3 个聚类。
推荐阅读
- php - 在 Woocommerce 上处理产品类型
- php - 为什么 PHP 在我的 HTML 中间放一个随机数?
- javascript - 在 React 钩子中切换对象状态内的值的正确方法是什么?
- c - Cs50 pset1 积分
- azure - 如何获取 Azure 应用程序网关 HTTPS 侦听器的证书
- c - 如何在不复制最后输入的命令的情况下从标准输入读取?
- flutter - 构建APK时没有flutter_local_notification通知
- itext7 - .NET 的 iText7 在从 HTML 到 PDF 的转换中不包含图像
- c++ - CMake 错误:CMake 无法找到与“Unix Makefiles”对应的构建程序
- reactjs - 处理用 TypeScript 编写的 React 功能组件中的 Ref:Element is not assignable 错误