halconxld线段中点、端点和角度的计算
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
请求出错错误代码400请尝试刷新页面重试
halconxld线 段 中 点 、 端 点 和 角 度 的 计 算
一、xld线段中点 area_center_points_xld (Line4, Area, Row, Column)
二、xld线段端点 *xld转region gen_region_contour_xld (LineContours, RegionLines, 'filled') *提取区域轮骨 skeleton (RegionLines, Skeleton) *获取轮骨端点 junctions_skeleton (RegionLines, EndPoints, JuncPoints) get_region_points (EndPoints, Rows1, Columns1)
法三:通过求椭圆长半轴、短半轴的方式求xld轮廓(精度较高,但是方向有时会找不准) elliptic_axis_points_xld(XLD : : : Ra, Rb, Phi)
法三:通过线段两端点的反正切来求角度(方向准确,精度较高,始终以X轴正方向为起始方向,推荐) 注:直线起始端点(Rows[0],Columns[0]),末尾端点(Rows[1],Columns[1]) offsetX := RightDownColumn - LeftUpColumn offsetY := RightDownRow - LeftUpRow tuple_atan2 (offsetY, offsetX, angel) tuple_deg (angel, angelDeg) *线段与X轴正方向的夹角 m_rotate := 180 - angelDeg
三、xld线段角度 法一:可将xld转成区域,然后求区域的方向 gen_region_contour_xld (LineContours, RegionLines, 'filled') orientation_region (RegionLines, Phi)
法二:直接求xld轮廓方向)
halconxld线 段 中 点 、 端 点 和 角 度 的 计 算
一、xld线段中点 area_center_points_xld (Line4, Area, Row, Column)
二、xld线段端点 *xld转region gen_region_contour_xld (LineContours, RegionLines, 'filled') *提取区域轮骨 skeleton (RegionLines, Skeleton) *获取轮骨端点 junctions_skeleton (RegionLines, EndPoints, JuncPoints) get_region_points (EndPoints, Rows1, Columns1)
法三:通过求椭圆长半轴、短半轴的方式求xld轮廓(精度较高,但是方向有时会找不准) elliptic_axis_points_xld(XLD : : : Ra, Rb, Phi)
法三:通过线段两端点的反正切来求角度(方向准确,精度较高,始终以X轴正方向为起始方向,推荐) 注:直线起始端点(Rows[0],Columns[0]),末尾端点(Rows[1],Columns[1]) offsetX := RightDownColumn - LeftUpColumn offsetY := RightDownRow - LeftUpRow tuple_atan2 (offsetY, offsetX, angel) tuple_deg (angel, angelDeg) *线段与X轴正方向的夹角 m_rotate := 180 - angelDeg
三、xld线段角度 法一:可将xld转成区域,然后求区域的方向 gen_region_contour_xld (LineContours, RegionLines, 'filled') orientation_region (RegionLines, Phi)
法二:直接求xld轮廓方向)