当前位置: 首页 > news >正文

org.openpnp.vision.pipeline.stages.DrawCircles

文章目录

  • org.openpnp.vision.pipeline.stages.DrawCircles
    • 功能
    • 参数
    • 例子
    • 产生测试图像
    • 效果
    • END

org.openpnp.vision.pipeline.stages.DrawCircles

功能

从指定的前序 Stage 获取圆形列表(List<Result.Circle>),并在当前工作图像上绘制这些圆形。每个圆形会绘制一个圆(轮廓)和圆心点。可以自定义圆的颜色、圆心颜色以及线条粗细。如果未指定颜色,则使用索引颜色(根据圆形在列表中的顺序自动分配)及其互补色作为圆心颜色。该阶段直接修改当前工作图像,不返回新的模型或图像(返回 null)。

参数

参数类型默认值说明
circlesStageNameStringnull指定提供圆形列表的 Stage 名称(如"detect")。该 Stage 的结果模型必须是List<Result.Circle>
colorColornull圆形的颜色。若未指定,则自动使用索引颜色(根据列表顺序,循环使用一组预定义颜色)。
centerColorColornull圆心点的颜色。若未指定,则自动使用color的互补色。
thicknessint1绘制圆形的线条粗细(像素)。圆心点固定为 2 像素粗细。

例子

产生测试图像

# @fn generate_circles.pyimportcv2importnumpy as np# 图像尺寸width, height=800,600# 深灰色背景img=np.full((height,width,3),(64,64,64),dtype=np.uint8)# 圆形参数(圆心x,圆心y,半径,颜色BGR)circles=[(200,300,80,(0,0,255)),# 红色(500,200,60,(0,255,0)),# 绿色(650,450,100,(255,0,0)),# 蓝色]for(cx, cy, r, color)incircles:# 注意末尾的冒号cv2.circle(img,(cx, cy), r, color, -1)# 填充圆# 可选:添加一些文字说明cv2.putText(img,"Test Circles for DrawCircles",(50,50), cv2.FONT_HERSHEY_SIMPLEX,0.8,(255,255,255),2)cv2.imwrite("test_circles.png", img)print("测试图像已生成: test_circles.png")
<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_circles.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="3"property-name="BlurGaussian"/><cv-stageclass="org.openpnp.vision.pipeline.stages.DetectCircularSymmetry"name="detect"enabled="true"min-diameter="100"max-diameter="220"max-distance="500"search-width="0"search-height="0"max-target-count="3"min-symmetry="1.2"corr-symmetry="0.0"outer-margin="0.2"inner-margin="0.4"sub-sampling="4"super-sampling="2"symmetry-score="OverallVarianceVsRingVarianceSum"property-name=""diagnostics="true"heat-map="false"/><cv-stageclass="org.openpnp.vision.pipeline.stages.ImageRecall"name="recall"enabled="true"image-stage-name="read"/><cv-stageclass="org.openpnp.vision.pipeline.stages.DrawCircles"name="draw"enabled="true"circles-stage-name="detect"thickness="3"><colorr="0"g="255"b="0"a="255"/><center-colorr="255"g="0"b="0"a="255"/></cv-stage><cv-stageclass="org.openpnp.vision.pipeline.stages.ImageWrite"name="save"enabled="true"file="output_circles_correct.png"/></stages></cv-pipeline>

效果

DetectCircularSymmetry对低对比度的检测不佳。

END

http://www.jsqmd.com/news/644139/

相关文章:

  • CCF-GESP C++二级考了啥?我用Python把2024年3月的真题重写了一遍
  • 揭秘加油卡回收的三大技巧,让您轻松找到放心平台! - 团团收购物卡回收
  • 3种方式在Windows上实现本地实时语音转文字:从隐私保护到灵活扩展的完整方案
  • Simulink自定义模块集进阶指南:从创建到发布完整工具箱的避坑技巧
  • AD22 极坐标实战:精准规划PCB弧形布局与等距元件定位
  • 选型必读:根据应用场景推荐氧氮氢分析仪生产厂家及高性价比方案 - 品牌推荐大师
  • 盘点热门的消泡剂生产商,哪家口碑好、价格合理值得选 - 工业设备
  • 2721基于51单片机的温控电机正反转调速系统设计(LCD1602,独立按键)
  • 3步解锁B站内容宝藏:开源工具bili2text的智能转写革命
  • 跨端通信实战:UniApp与WebView的高效数据交互方案
  • 企业级Windows Shell扩展架构设计:深度解析HEIC缩略图处理器部署方案
  • 重庆欧艺职业技能培训学校发展前景如何,教学方法全解析 - 工业推荐榜
  • 小红书数据采集终极指南:5分钟掌握Python爬虫实战技巧
  • Figma中文界面插件:设计师的终极本地化解决方案
  • 缓存穿透和缓存雪崩是什么,如何解决?
  • 终极BepInEx入门指南:轻松为Unity游戏安装插件框架
  • 邵雍先天易图的发展历史渊薮
  • Horos:当开源精神遇见医疗影像,如何重塑专业诊断的边界?
  • 免费终极指南:如何使用KeyboardChatterBlocker彻底解决机械键盘连击问题
  • 【权威复现报告首发】:基于27个基准测试集的SITS2026优化方案效能排行榜(含FLOPs/latency/acc三维评分)
  • 小红书数据采集终极指南:5分钟快速上手Python爬虫实战
  • 3步搞定HEIC预览:Windows缩略图创新解决方案全解析
  • 梳理集装箱岗亭老牌厂家,服务厂商价格多少钱 - mypinpai
  • GLM-4V-9B效果对比展示:量化前后显存占用、响应速度与准确率实测
  • 三套高效解决方案:让老旧设备智能升级Windows 11的完整指南
  • AIAgent是AGI的子集还是绊脚石?SITS2026圆桌闭门共识首次解密(含4大误判红线)
  • 【kv存储】基于 C 的 KV 存储项目:主从单向同步是怎么实现的
  • 终极OBS多平台直播解决方案:obs-multi-rtmp插件深度指南
  • IMX415传感器与RV1126 SoC实战:如何从零搭建一个低延迟视频监控系统(附避坑指南)
  • 2026比较好的雅思线上培训机构推荐,一对一辅导的提升课程全攻略 - 品牌2025