[Halcon&几何] 线段中点、端点和角度的计算

简介: [Halcon&几何] 线段中点、端点和角度的计算

1. xld线段中点

area_center_points_xld (Line4, Area, Row, Column)

2. xld线段端点

*xld转region
 gen_region_contour_xld (LineContours, RegionLines, 'filled')
 *提取区域轮骨
 skeleton (RegionLines, Skeleton)
 *获取轮骨端点
 junctions_skeleton (RegionLines, EndPoints, JuncPoints)
 get_region_points (EndPoints, Rows1, Columns1)

3. xld线段角度

法一:可将xld转成区域,然后求区域的方向

gen_region_contour_xld (LineContours, RegionLines, 'filled')
 orientation_region (RegionLines, Phi)

法二:直接求xld轮廓方向

orientation_xld(XLD : : : Phi)

法三:通过求椭圆长半轴、短半轴的方式求xld轮廓(精度较高,但是方向有时会找不准

elliptic_axis_points_xld(XLD : : : Ra, Rb, Phi)

法三:通过线段两端点的反正切来求角度(方向准确,精度较高,始终以X轴正方向为起始方向,推荐

offsetX := RightDownColumn - LeftUpColumn
 offsetY := RightDownRow - LeftUpRow
 tuple_atan2 (offsetY, offsetX, angel)
 tuple_deg (angel, angelDeg)
 *线段与X轴正方向的夹角
 m_rotate := 180 - angelDeg

注:直线起始端点(Rows[0],Columns[0]),末尾端点(Rows[1],Columns[1])


戳戳小手帮忙点个免费的赞和关注吧,嘿嘿。
目录
相关文章
|
3月前
|
C++
C++代码来计算一个点围绕另一个点旋转45度后的坐标
C++代码来计算一个点围绕另一个点旋转45度后的坐标
76 0
|
3月前
|
算法
平面中判断点在三角形内算法(同向法)
平面中判断点在三角形内算法(同向法)
26 0
|
3月前
|
算法 数据建模
平面中判断点在三角形内算法(重心法)
平面中判断点在三角形内算法(重心法)
45 0
|
6月前
|
计算机视觉
OpenCV(三十四):轮廓外接最大、最小矩形和多边形拟合
OpenCV(三十四):轮廓外接最大、最小矩形和多边形拟合
467 0
|
6月前
[Halcon&几何] 直线的垂线与延长线的计算
[Halcon&几何] 直线的垂线与延长线的计算
346 1
|
6月前
|
算法
[Halcon&几何] 矩形顶点和对角连线角度计算
[Halcon&几何] 矩形顶点和对角连线角度计算
132 0
|
6月前
|
机器学习/深度学习 算法 C#
C# | 凸包算法之Jarvis,寻找一组点的边界/轮廓
这篇关于凸包算法的文章,本文使用C#和Jarvis算法来实现凸包算法。 首先消除两个最基本的问题: 什么是凸包呢? 凸包是一个包围一组点的凸多边形。凸多边形是指多边形中的每个内角都小于180度的多边形。 凸包算法有什么用呢? 凸包算法的作用是找到这个凸多边形,并且使用最少的点来绘制出它的轮廓。凸包算法在计算机图形学、计算几何和机器学习等领域中有着广泛的应用。
76 0
关于已知线段,如何求封闭图形轮廓的一些猜想
关于已知线段,如何求封闭图形轮廓的一些猜想
|
数据可视化 C++
高斯正反算—投影坐标转大地坐标、大地坐标转投影坐标(附有完整代码及测试结果)
高斯正反算—投影坐标转大地坐标、大地坐标转投影坐标(附有完整代码及测试结果)
|
Java 索引
给定一个多边形的点集——判断所给点集的方向为顺时针方向还是逆时针方向【java实现+原理讲解】
给定一个多边形的点集——判断所给点集的方向为顺时针方向还是逆时针方向【java实现+原理讲解】
236 0