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

Halcon得出三角形内切圆

Halcon得出三角形内切圆

news2023/5/27 7:14:

目录

  • 一、得出三角形的三个角点
  • 二、用类似尺规作图法得出三角形圆心
    • 1、以三角形三角点画出圆形轮廓
    • 2、求出三角形轮廓与圆形轮廓之间的交点
    • 3、获得角平分线,三边角平分线交点为圆心
  • 三、求出圆心到边最短距离即半径

一、得出三角形的三个角点

参考上篇文章“Halcon提取三角形边缘以及获取角点”

二、用类似尺规作图法得出三角形圆心

以三角形三个边为圆心生成三个圆形轮廓
求出轮廓与轮廓之间的交点
再以交点为圆心画圆轮廓,得到两个圆的交点,获得角平分线,三边角平分线交点为圆心

1、以三角形三角点画出圆形轮廓

gen_circle_contour_xld (ContCircle1, RowA, ColumnA, 20, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle2, RowB, ColumnB, 20, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle3, RowC, ColumnC, 20, 0, 6.28318, 'positive', 1)

在这里插入图片描述

2、求出三角形轮廓与圆形轮廓之间的交点

intersection_contours_xld (Contour, ContCircle3, 'all', Row, Column, IsOverlapping1)
intersection_contours_xld (Contour, ContCircle1, 'all', Row2, Column2, IsOverlapping3)
intersection_contours_xld (Contour, ContCircle2, 'all', Row4, Column4, IsOverlapping5)

3、获得角平分线,三边角平分线交点为圆心

//以交点为圆心画出两个同半径圆,两圆交点连线即为角平分线
gen_circle_contour_xld (ContCircle31, Row[0], Column[0], 40, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle32, Row[1], Column[1], 40, 0, 6.28318, 'positive', 1)
intersection_contours_xld (ContCircle31, ContCircle32, 'all', Row1, Column1, IsOverlapping2)
disp_line (3600, Row1[0], Column1[0], Row1[1], Column1[1])gen_circle_contour_xld (ContCircle21, Row2[0], Column2[0], 40, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle22, Row2[1], Column2[1], 40, 0, 6.28318, 'positive', 1)
intersection_contours_xld (ContCircle21, ContCircle22, 'all', Row3, Column3, IsOverlapping4)
disp_line (3600, Row3[0], Column3[0], Row3[1], Column3[1])gen_circle_contour_xld (ContCircle11, Row4[0], Column4[0], 40, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle12, Row4[1], Column4[1], 40, 0, 6.28318, 'positive', 1)
intersection_contours_xld (ContCircle11, ContCircle12, 'all', Row5, Column5, IsOverlapping6)
disp_line (3600, Row5[0], Column5[0], Row5[1], Column5[1])

在这里插入图片描述
延长直线,求交点

r:= Row1[0] - Row1[1]
n:= Column1[0] - Column1[1]
k1:= r/n
b1:=Row1[1] - k1*Column1[1]
row1:=k1*5+b1
row12:=k1*2500+b1
disp_line (3600, row1, 5, row12, 2500)
r:= Row3[0] - Row3[1]
n:= Column3[0] - Column3[1]
k1:= r/n
b1:=Row3[1] - k1*Column3[1]
row2:=k1*5+b1
row22:=k1*2500+b1
* disp_line (3600, RowBegin, ColBegin, RowEnd, ColEnd)
disp_line (3600, row2,5 , row22, 2500)
r:= Row5[0] - Row5[1]
n:= Column5[0]- Column5[1]
k1:= r/n
b1:=Row5[1] - k1*Column5[1]
row3:=k1*5+b1
row32:=k1*2500+b1
disp_line (3600, row3,5 , row32, 2500)//求出圆心 Row6, Column6
intersection_lines (row2, 5, row22, 2500, row3,5 , row32, 2500, Row6, Column6, IsOverlapping7)

在这里插入图片描述

三、求出圆心到边最短距离即半径

distance_pc(Contour, Row6, Column6, DistanceMin, DistanceMax)
gen_circle_contour_xld (ContCircle, Row6, Column6, DistanceMin, 0, 6.28318, 'positive', 1)

在这里插入图片描述

相关文章:

Halcon得出三角形内切圆

Halcon得出三角形内切圆 news2023/5/27 7:14: 目录 一、得出三角形的三个角点二、用类似尺规作图法得出三角形圆心 1、以三角形三角点画出圆形轮廓2、求出三角形轮廓与圆形轮廓之间的交点3、获得角平分线,三边角平分线交点为圆心三、求出圆心到边最短距离即半径 …...

2023年6月北京/广州/深圳CDGA/CDGP数据治理认证招生

DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…...

KMP 算法(Knuth-Morris-Pratt)

tip:作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 推荐:体系化学习Java(Java面试专题) 文章目录 一、什么是 …...

Java泛型详解

泛型的理解 泛型的概念 所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型 或者是 某个方法的返回值类型及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时&#…...

2023上海国际嵌入式展 | 如何通过人工智能驱动的自动化测试工具提升嵌入式开发效率

2023年6月14日到16日,龙智将在2023上海国际嵌入式展(embedded world China 2023)A055展位亮相。同时,6月14日下午3:00-3:30,龙智资深DevSecOps顾问巫晓光将于创新技术及应用发展论坛第二论坛区(A325展位&am…...

微信小程序个人心得

首先从官方文档给的框架说起,微信小程序官方文档给出了app.js, app.json, app.wxss. 先从这三个文件说起. 复制 app.js 这个文件是整个小程序的入口文件,开发者的逻辑代码在这里面实现,同时在这个文件夹里面可以定义全局变量.app.json 这个文件可以对小程序进行全局配置,决定…...

苹果MacOS系统傻瓜式本地部署AI绘画Stable Diffusion教程

Stable Diffusion的部署对小白来说非常麻烦,特别是又不懂技术的人。今天分享两个一键傻瓜式安装包,对小白来说非常有用。下面两个任选一个安装就可以。 一、DiffusionBee 简单介绍 DiffusionBee是基于stable diffusion的一个安装包,有图形…...

DBA之路-- 闪回恢复区FRA(Flash recovery area)与闪回特性(flashback)[待更新]

闪回恢复区FRA(Flash recovery area)与闪回特性(flashback) 1、闪回特性FB 用于快速简单恢复数据库中出现的认为误操作等逻辑错误 Flashback由undo表空间的撤销段内容为基础,受限于UNDO_RETENTON参数。要使用flashb…...

chatgpt赋能python:Python3.6.5到Python3.7.5:升级指南

Python 3.6.5到Python 3.7.5:升级指南 Python是一种广泛使用的编程语言,拥有强大的库和框架,能够开发各种类型的应用程序。在Python的发行版中,版本更新是常见的过程,以提供更好的性能和新的功能。 本文将介绍如何将…...

Element UI DatePicker 日期选择器

该组件选择周的时候,默认显示‘xxxx年第x周’,但在需求要显示为‘xxxx年x月第x周(mm.dd - mm.dd)’或者‘本周(mm.dd - mm.dd)’,最终效果为 首先需要修改v-model默认展示日期,控件中默认展示为周二&#x…...

sw2urdf导出的urdf文件中的惯性参数(inertial)错误的问题

现象描述 有时候,当我们使用solidworks建好我们的模型,然后利用【sw2urdf】导出后,发现其中的惯性参数,似乎不正确,ixx、izz这些参数都是很接近0的: 资料查找 其实这个不是我们设置的问题,而…...

AICG - Stable Diffusion 学习思考踩坑实录(待续补充)

关于模型 如果模型中没有各种角度的脚和手,无论你再怎么费劲心思,AI 都画不出来,目前C 站也没有什么好脚的例子,正面脚背面脚,但是没有侧面脚,脚这块还是很欠缺,希望未来有大牛能训练出来美脚 …...

LiangGaRy-学习笔记-Day19

1、回顾知识 1.1、文件系统说明 xfs与ext4文件系统 CentOS7以上:默认的就是XFS文件系统 xfs 使用的就是restore、dump等工具 CentOS6默认的就是ext4文件系统 extundelete工具就是用于ext4系统 1.2、回顾Linux文件系统 Linux文件系统是由三个部分组成 inode文…...

智能指针(1)

智能指针(1) 概念内存泄漏指针指针概念RAII使用裸指针存在的问题 智能指针使用分类unique(唯一性智能指针)介绍智能指针的仿写代码理解删除器 概念 内存泄漏 内存泄漏:程序中已动态分配的堆内存由于某些原因而未释放…...

Steemit 会颠覆 Quora/知乎 甚至 Facebook 吗?

Steemit是基于区块链技术的社交媒体平台,其独特的激励机制吸引了众多用户。然而,是否能够真正颠覆Quora、知乎甚至Facebook这些已经成为社交巨头的平台,仍然存在着许多未知因素。本文将探讨Steemit的优势和挑战,以及其在社交领域中…...

002Mybatis初始化引入

引入依赖 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId> </dependency> 自动检测工程中的DataSource创建并注册SqlSessionFactory实例创建并注册SqlSessionTemplate实例自…...

系统架构师之高内聚低耦合

一、概念&#xff1a; 标记耦合&#xff08;Stamp Coupling&#xff09;和数据耦合&#xff08;Data Coupling&#xff09;是软件设计中两种不同的耦合类型&#xff0c;它们之间的区别如下&#xff1a; 标记耦合&#xff1a;标记耦合是指模块之间通过参数传递标记或标识符来进…...

Netty核心源码剖析(二)

1.Netty接受请求过程源码剖析 1>.从之前的Netty启动过程源码剖析中,我们得知服务器最终注册了一个Accept事件等待客户端的连接.我们也知道,NioServerSocketChannel将自己注册到了bossGroup单例线程池(reactor线程)上,也就是EventLoop; 2>.先简单说下EventLoop的逻辑,Ev…...

「C/C++」C/C++ Lamada表达式

✨博客主页&#xff1a;何曾参静谧的博客 &#x1f4cc;文章专栏&#xff1a;「C/C」C/C程序设计 相关术语 Lambda表达式&#xff1a;是C11引入的一种函数对象&#xff0c;可以方便地创建匿名函数。与传统的函数不同&#xff0c;Lambda表达式可以在定义时直接嵌入代码&#xff…...

bug(Tomcat):StandardContext.startInternal 由于之前的错误,Context[/day01]启动失败

引出 项目启动失败&#xff0c;一个困扰了一上午的bug 报错信息 org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到 org.apache.catalina.core.StandardContext.startInternal 由于之前的错误…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...