VP引导定位软件-旋转标定

VP引导定位软件-旋转标定

一 确定通讯协议

Rotate,Angle,第几个点 Rotate,-20,1Rotate,-10,2Rotate,0,3Rotate,10,4Rotate,20,5

二 解析上位机数据

elseif(GlobalParameters.SoftModel=="Rotate"){// 如果是第一个点,则清空之前的数据if(Convert.ToInt32(msg.Split(',')[2])==1){// AlgorithmService.Instance.ClearRotateCali();}}

三 算法实现

/// <summary>/// 旋转点坐标/// </summary>publicList<Double>ImageX_Rotate_List=newList<Double>();publicList<Double>ImageY_Rotate_List=newList<Double>();
/// <summary>/// 添加旋转标定的点/// </summary>/// <param name="imageX"></param>/// <param name="imageY"></param>publicvoidAppendCirclePoint(doubleimageX,doubleimageY){ImageX_Rotate_List.Append(imageX);ImageY_Rotate_List.Append(imageY);}
/// <summary>/// 生成旋转中心标定/// </summary>publicvoidGenRotateCalibrationFile(outDoubleCenterX,outDoubleCenterY){if(ImageX_Rotate_List.Count==5){CenterX=0;CenterY=0;MessageBox.Show("生成旋转中心成功!");}else{CenterX=0;CenterY=0;}}

CircleFitter

publicclassCircleFitter{/// <summary>/// 通过三个点计算圆心坐标/// </summary>/// <param name="point1">第一个点 (x1, y1)</param>/// <param name="point2">第二个点 (x2, y2)</param>/// <param name="point3">第三个点 (x3, y3)</param>/// <returns>圆心坐标 (cx, cy)</returns>publicstatic(doublecx,doublecy)FitCircleFromThreePoints((doublex,doubley)point1,(doublex,doubley)point2,(doublex,doubley)point3){// 解法基于三点确定一个圆的几何原理// 设圆心为 (cx, cy),则有:// (x1-cx)² + (y1-cy)² = (x2-cx)² + (y2-cy)² = (x3-cx)² + (y3-cy)² = r²doublex1=point1.x,y1=point1.y;doublex2=point2.x,y2=point2.y;doublex3=point3.x,y3=point3.y;// 计算中间变量doubleA=x2-x1;doubleB=y2-y1;doubleC=x3-x1;doubleD=y3-y1;doubleE=A*(x1+x2)+B*(y1+y2);doubleF=C*(x1+x3)+D*(y1+y3);doubleG=2*(A*(y3-y1)-B*(x3-x1));// 避免除以零(三点共线的情况)if(Math.Abs(G)<1e-10){thrownewArgumentException("三点共线,无法确定唯一的圆");}// 计算圆心坐标doublecx=(D*E-B*F)/G;doublecy=(A*F-C*E)/G;return(cx,cy);}/// <summary>/// 计算圆的半径/// </summary>publicstaticdoubleCalculateRadius((doublex,doubley)center,(doublex,doubley)point){doubledx=point.x-center.x;doubledy=point.y-center.y;returnMath.Sqrt(dx*dx+dy*dy);}}

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

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

相关文章

2026 精选 AI 论文工具全攻略:从全流程到专项场景精准适配

随着《2026 全球 AI 学术写作行业白皮书》数据的发布及 200 高校师生实测反馈的汇总&#xff0c;AI 论文工具市场已迈入 “合规为基、场景为王、协同为要” 的全新阶段。当前全球高校 AI 论文工具使用率突破 45%&#xff0c;用户核心诉求已从单纯的 “效率提升”&#xff0c;全…

操作自动化测试如何实现用例设计实例?

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快在编写用例之间&#xff0c;笔者再次强调几点编写自动化测试用例的原则&#xff1a;1、一个脚本是一个完整的场景&#xff0c;从用户登陆操作到用户退出系统关闭浏览…

选择高效服装管理ERP系统的最佳推荐与比较分析

市场上高效的服装管理ERP系统推荐分析 在选择高效的服装管理ERP系统时&#xff0c;市场上有多款值得关注的产品。其中&#xff0c;艾格文服装ERP以其全面的功能和灵活的定制选项备受推崇。该系统专注于提高服装企业的运营效率&#xff0c;提供全链条的管理解决方案。为了使决策…

技术难点攻克五步法:韩宁波的实战教学手册

技术难点攻克五步法&#xff1a;韩宁波的实战教学手册在技术攻坚领域&#xff0c;国家二级运动员、资深技术教练韩宁波以"系统化思维分步验证"为核心&#xff0c;构建了技术难点攻克五步法。该模型融合问题定位、根因分析、方案设计、实施验证、知识沉淀五大环节&…

工程材料企业数据采集系统十大解决方案深度解析:从技术挑战到架构实践

在数字化转型的浪潮中&#xff0c;工程材料行业正面临着前所未有的挑战。作为建筑、制造、交通等国民经济支柱产业的基础&#xff0c;工程材料企业&#xff08;涵盖水泥、混凝土、钢材、陶瓷、玻璃等&#xff09;的生产过程复杂&#xff0c;设备种类繁多&#xff0c;数据源异构…

Nacos03:Nacos 服务端开启鉴权

文章目录一、修改配置文件二、启动Nacos一、修改配置文件 主要是为了开启鉴权&#xff0c;路径是&#xff1a;/conf/application.properties # 开启鉴权 nacos.core.auth.enabledtrue# 设置服务器令牌和服务器值 nacos.core.auth.server.identity.keynacos2026 nacos.core.auth…

接口测试:加密和签名

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、什么是加密以及解密&#xff1f;加密&#xff1a;在网络上传输的原始数据&#xff08;明文&#xff09;经过加密后形成&#xff08;密文&#xff09;传输&a…

冬之华章,人间暖梦

当秋风最后一丝余韵悄然消散&#xff0c;冬&#xff0c;便迈着沉稳而庄重的步伐&#xff0c;缓缓降临人间。它宛如一位冷峻而深邃的诗人&#xff0c;以天地为纸&#xff0c;以霜雪为墨&#xff0c;书写着属于自己的壮丽诗篇&#xff0c;又似一位温婉而细腻的画师&#xff0c;用…

MySQL数据可视化实战:从查询到图表

技术文章大纲&#xff1a;用MySQL玩转数据可视化 引言 数据可视化在现代数据分析中的重要性MySQL作为关系型数据库在数据处理中的优势结合MySQL与可视化工具的应用场景 MySQL数据准备与处理 设计适合可视化的数据表结构使用SQL查询提取关键数据&#xff08;聚合、分组、排序…

什么是XSS攻击?分为哪几类?

网络安全中常见的攻击手段有很多&#xff0c;大致包括这些&#xff1a;DDoS攻击、XEE攻击、XSS攻击、CSRF攻击、SSRF攻击等。在之前的文章中小编大部分都为大家详细介绍过&#xff0c;那么什么是XSS攻击?其攻击原理有哪些?以下是详细的介绍。 什么是XSS攻击? XSS攻击通常指的…

C语言造轮子:从零打造底层利器

技术文章大纲&#xff1a;C语言造轮子大赛参赛背景与意义造轮子大赛的定义&#xff1a;通过重新实现基础库或工具&#xff0c;深入理解底层原理C语言的优势&#xff1a;贴近硬件、高效、适合底层开发参赛目标&#xff1a;提升编码能力、学习系统设计、社区技术交流常见轮子选题…

有哪些提供免抠PNG图片的网站?

找一张透明背景的PNG图片&#xff0c;曾经意味着要在设计软件里花费数小时进行精细的抠图&#xff0c;而如今&#xff0c;你只需要知道去哪里找。设计师们在寻找PNG素材时&#xff0c;主要面临几个难题&#xff1a;素材质量参差不齐、下载后需要二次处理的麻烦&#xff0c;以及…

Windows权限提升基础知识和命令

介绍 这篇文章是介绍window的权限提升&#xff0c;虽然不是一个全面的指南&#xff0c;但会试图覆盖主要的技术&#xff0c;常用的资源列表在文章底部&#xff0c;可供大家参考。 window权限提升基础知识 初始信息收集 在开始提权之前,我们需要了解操作系统基本的信息,如安装…

2026AI白皮书启示:婚姻诊断系统的技术解剖与测试攻坚战

&#xff08;统计数据显示&#xff1a;截至2025年末&#xff0c;中国73.2%的夫妻使用过至少一款AI婚姻诊断工具&#xff0c;平均诊断准确率宣称达89%——这组数据背后隐藏着软件测试工程师构建的精密防线&#xff09; 一、系统架构的测试风暴眼 1.1 多模态数据采集链的可靠性验…

静态代理IP+facebook账号,养号“神器”!

现在越来越多的用户开始做跨境出海&#xff0c;而跨境我们最常用的几个平台&#xff1a;Facebook、Instagram、TikTok、X、reddit等&#xff0c;基本上只要是涉及到营销都不可避免这些平台。我们以Facebook为例&#xff0c;大家都知道&#xff0c;Facebook新账号注册是非常麻烦…

台达AS系列PLC Modbus TCP网口上位机通信的C#监控与数据报表生成

台达AS系列PLC modbus TCP网口上位机通信&#xff0c;项目现场使用设备的C#源代码&#xff0c;监控设备每月每天的生产数据并生成Excel表格。最近在工业现场折腾台达AS系列PLC的Modbus TCP通讯&#xff0c;发现这玩意儿的协议实现和常规设备还真有点不一样。项目需求是抓取设备…

什么是逆向工程?应用领域有哪些?收藏这篇让你摸透逆向工程

核心结论&#xff1a;逆向工程就是 “反向拆解 学习复刻”&#xff0c;先搞懂别人的产品 / 技术怎么造的&#xff0c;再用这些思路做自己的东西&#xff0c;全程不碰原始代码或设计图的核心版权。 一、什么是逆向工程&#xff1f;&#xff08;通俗版&#xff09; 你可以把它想…

Mysql数据库常见函数(下)——日期时间函数

前两期我们分别学习了Mysql数据库中常见的字符函数和数值函数,那么本期我们一起来学习Mysql数据库中常见的日期时间函数。 ADDDATE(d,n):计算起始日期 d 加上 n 天的日期 实例: SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY); 返回结果:2017-06-25 ADDTIME…

Dify 结合 Coze MCP 工具实现智能图片生成:完整教程

摘要 本文将系统讲解如何在 Dify 平台上集成 Coze 的 MCP&#xff08;Model Context Protocol&#xff09;工具&#xff0c;以实现由大模型驱动的智能图片生成功能。内容涵盖环境准备、MCP 工具配置、Dify 中的集成方法&#xff0c;以及完整的端到端示例&#xff0c;帮助开发者…

【强烈收藏】告别拖拽节点:Agent + Skills 架构打造可进化数字员工

文章对比了传统可视化工作流与Agent Skills架构&#xff0c;提出了后者对前者的降维打击优势。详细介绍了Agent Skills的五步构建框架&#xff1a;拆分原子化能力、自然语言编排、中间态持久化、引用分摊传递、自我迭代进化。同时解决了稳定性、成本、门槛三大挑战&#xff0…