news 2026/5/10 15:30:37

org.openpnp.vision.pipeline.stages.DetectFixedCirclesHough

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
org.openpnp.vision.pipeline.stages.DetectFixedCirclesHough

文章目录

  • org.openpnp.vision.pipeline.stages.DetectFixedCirclesHough
    • 功能
    • 参数
      • 固定参数(在 XML 中配置)
      • 动态参数(必须通过 `pipeline.setProperty()` 预先设置)
    • 例子
    • 效果
    • END

org.openpnp.vision.pipeline.stages.DetectFixedCirclesHough

功能

DetectCirclesHough用硬编码在cv-pipeline配置中的参数来检测圆形。

DetectFixedCirclesHough用预先动态设置的参数来检测圆形,这些参数可以用pipeline.setProperty()先设置好,然后再执行DetectFixedCirclesHough。这就实现了动态检测圆形。
(最小圆心距、最小直径、最大直径)不是从 XML 属性中读取,而是从 pipeline 的动态属性中获取。这使得参数可以在管道运行时由前置脚本或用户输入动态设定,而无需修改管道配置文件。

需要根据外部条件(如元件型号、相机视野、上一阶段检测结果)动态调整圆的搜索范围。
避免为不同参数重复编写多个相似的管道。
适合与脚本(ScriptRun)配合,先计算出圆的预期尺寸,再执行检测。

参数

固定参数(在 XML 中配置)

参数类型默认值说明
dpdouble1.0累加器分辨率与图像分辨率的反比。dp=1时分辨率相同;dp=2时累加器宽高减半。增大可加快检测,但可能降低精度。
param1double80.0Canny 边缘检测的高阈值。低阈值自动设为param1/2
param2double13.0圆心检测的累加器阈值。值越小,检测到的假圆越多;值越大,只保留最明显的圆。

动态参数(必须通过pipeline.setProperty()预先设置)

属性名类型说明
DetectFixedCirclesHough.minDistanceint圆心之间的最小距离(像素),用于避免重复检测。
DetectFixedCirclesHough.minDiameterint圆的最小直径(像素)。小于此直径的圆将被忽略。
DetectFixedCirclesHough.maxDiameterint圆的最大直径(像素)。大于此直径的圆将被忽略。

例子

图像还是用org.openpnp.vision.pipeline.stages.DetectEdgesCanny的测试图像。

<cv-pipeline><stages><cv-stageclass="org.openpnp.vision.pipeline.stages.ImageRead"name="read"enabled="true"file="D:\3rd\openpnp_prj\openpnp-official\openpnp-test-images\my_test\test_canny_color.png"color-space="Bgr"handle-as-captured="false"/><cv-stageclass="org.openpnp.vision.pipeline.stages.ConvertColor"name="gray"enabled="true"conversion="Bgr2Gray"/><cv-stageclass="org.openpnp.vision.pipeline.stages.BlurGaussian"name="blur"enabled="true"kernel-size="7"property-name="BlurGaussian"/><cv-stageclass="org.openpnp.vision.pipeline.stages.ScriptRun"name="setParams"enabled="true"file="D:\3rd\openpnp_prj\openpnp-official\openpnp-test-images\my_test\set_circle_params.py"args=""/><cv-stageclass="org.openpnp.vision.pipeline.stages.DetectFixedCirclesHough"name="detect"enabled="true"dp="1.0"param-1="80.0"param-2="13.0"/><cv-stageclass="org.openpnp.vision.pipeline.stages.ImageRecall"name="restoreOriginal"enabled="true"image-stage-name="read"/><cv-stageclass="org.openpnp.vision.pipeline.stages.DrawCircles"name="draw"enabled="true"circles-stage-name="detect"thickness="2"><colorr="51"g="0"b="255"a="255"/></cv-stage><cv-stageclass="org.openpnp.vision.pipeline.stages.ImageWrite"name="save"enabled="true"file="output_detected_circle.png"/></stages></cv-pipeline>

效果


自己动态指定参数后,找到的圆形位置,大小都很准。

END

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 6:45:18

本地安装部署vllm并运行大模型

一、前置条件 1、NVIDIA 独立显卡&#xff08;笔记本 / 台式都行&#xff09; 2、显存 ≥ 4GB&#xff08;能跑小模型&#xff09; 3、安装python&#xff08;参考我的文章&#xff1a;用Python生成二维码&#xff09; 4、可以进入Windows下的WSL2&#xff08;参考我的文章…

作者头像 李华
网站建设 2026/4/15 6:45:09

AI 智能体联动短剧:创作完成自动分发矩阵账号,省心高效

做短剧矩阵运营&#xff0c;最耗时的不是创作&#xff0c;而是 “剪完视频手动分发、多账号切换、重复操作”—— 每天花几小时传视频、改标题、配封面&#xff0c;累且效率低。AI 智能体联动短剧系统&#xff0c;实现 “创作→分发→运营” 全自动化&#xff0c;创作完成无需人…

作者头像 李华
网站建设 2026/4/15 6:43:17

【无标题】健身这件事,说起来容易,吃起来难

蛋白吃得够&#xff0c;碳水不敢碰。代餐粉喝了两周&#xff0c;看见就想吐。沙拉吃到最后&#xff0c;嘴里淡出个鸟来&#xff0c;怀疑人生。跟我一起健身的哥们说&#xff1a;"你要不试试五仁油锅盔&#xff0c;粗粮的&#xff0c;配着吃&#xff0c;比那些代餐强多了。…

作者头像 李华
网站建设 2026/4/15 6:42:11

基于深度学习的车辆测距识别 yolov8双目测距 yolov8+sgbm(原理+代码)

YOLOv8结合SGBM立体匹配算法进行双目测距的工作流程和原理主要包括以下几个核心步骤&#xff1a; 往期热门博客项目回顾&#xff1a; 计算机视觉项目大集合 改进的yolo目标检测-测距测速 路径规划算法 图像去雨去雾目标检测测距项目 交通标志识别项目 yolo系列-重磅yo…

作者头像 李华
网站建设 2026/4/15 6:42:10

【移动端知识,vw单位适配

移动端知识移动端不需要设置版心物料像素和css像素物料像素css像素物料像素和css像素的关系设计稿都是按物理像素给的&#xff0c;我们开发的时候要写css像素&#xff0c;所以要改总结实现移动端适配方案vw单位适配vw和vh的介绍一直占页面宽度和高度的一半移动端适配

作者头像 李华
网站建设 2026/4/15 6:38:11

JS逆向|猿人学逆向反混淆练习平台第13题加密分析

关注它&#xff0c;不迷路。本文章中所有内容仅供学习交流&#xff0c;不可用于任何商业用途和非法用途&#xff0c;否则后果自负&#xff0c;如有侵权&#xff0c;请联系作者立即删除&#xff01;一.题目地址https://match.yuanrenxue.cn/match/13二.抓包分析先打开控制台&…

作者头像 李华