【Halcon 计算点到直线和点到直线延长线的距离】

编程入门 行业动态 更新时间:2024-10-24 04:48:45

【Halcon 计算<a href=https://www.elefans.com/category/jswz/34/1730300.html style=点到直线和点到直线延长线的距离】"/>

【Halcon 计算点到直线和点到直线延长线的距离】

Halcon 计算点到直线和点到直线延长线的距离

提示:Halcon计算点到直线的距离、(验证精度)点到直线延长线的距离

前言

实际项目进展过程中会应用到,计算直线与直线,点与直线距离计算,偶然发现,相同的计算条件,采取计算方式不同,得取的结果会存在偏差。以下仅供参考,讨论,具体哪种方式更加合理,有待讨论。


提示:以下是本篇文章正文内容,下面案例可供参考

一、点到直线的距离

计算点到直线的距离:140.828753

*获取窗口句柄
dev_get_window (WindowHandle)dev_set_color ('yellow')
*绘制点
draw_point (WindowHandle, Row2, Column2)gen_cross_contour_xld (Cross2, Row2, Column2, 6, 0.785398)dev_set_color ('blue')*绘制直线
draw_line (WindowHandle, Row11, Column11, Row21, Column21)*Store input lines as regions.
gen_region_line (RegionLines, Row11, Column11, Row21, Column21)* Calculate the center of gravity, length, and orientation of a line.
line_position (Row11, Column11, Row21, Column21, RowCenter, ColCenter, Length, Phi1)*计算点和线之间的距离
distance_pl (Row2, Column2, Row11, Column11, Row21, Column21, Distance1)disp_message (WindowHandle, Distance1, 'window', RowCenter, ColCenter, 'red', 'true')stop ()

二、点到直线延长线的距离

计算点到直线延长线的距离:141.145246

*获取窗口句柄
dev_get_window (WindowHandle)dev_set_color ('yellow')
*绘制点
draw_point (WindowHandle, Row2, Column2)gen_cross_contour_xld (Cross2, Row2, Column2, 6, 0.785398)dev_set_color ('blue')*绘制直线
draw_line (WindowHandle, Row11, Column11, Row21, Column21)*Store input lines as regions.
gen_region_line (RegionLines, Row11, Column11, Row21, Column21)* Calculate the center of gravity, length, and orientation of a line.
line_position (Row11, Column11, Row21, Column21, RowCenter, ColCenter, Length, Phi1)gen_contour_region_xld (RegionLines, LinesContours, 'border')elliptic_axis_points_xld (LinesContours, Ra3, Rb3, Phi)*获取直线中点
area_center_points_xld (LinesContours, LinesArea, LinesRowCenter, LinesColCenter)***********************生成延长线**************************延长线长度 
LineLength:=1000*起点
NewRowStart := LinesRowCenter-cos(Phi+1.5708)*LineLength
NewColStart := LinesColCenter-sin(Phi+1.5708)*LineLength*终点
NewRowEnd := LinesRowCenter-cos(Phi-1.5708)*LineLength
NewColEnd := LinesColCenter-sin(Phi-1.5708)*LineLengthgen_region_line (NewLine, NewRowStart, NewColStart, NewRowEnd, NewColEnd)dev_display (NewLine)distance_pl (Row2, Column2, NewRowStart, NewColStart, NewRowEnd, NewColEnd, Distance)disp_message (WindowHandle, Distance, 'window', RowCenter, ColCenter, 'red', 'true')stop ()

总结

提示:仅供参考

此测试,仅供验证测量方式的精度,如您有更合理的方式计算,还请提出更正建议。

更多推荐

【Halcon 计算点到直线和点到直线延长线的距离】

本文发布于:2023-06-29 16:54:49,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/947901.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:点到   直线   延长线   距离   Halcon

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!