Halcon计算点到直线的垂线方程
创作时间:
作者:
@小白创作中心
Halcon计算点到直线的垂线方程
引用
1
来源
1.
https://www.codetd.com/article/17480419
在机器视觉和图像处理领域,计算点到直线的垂线方程是一个常见的需求。本文将详细介绍如何使用Halcon软件实现这一功能,包括具体的代码实现和结果验证。
一、我们都知道,点到直线最短距离就是垂线。Halcon也有现成的算子可以计算点到直线的距离
distance_pl( : : Row, Column, Row1, Column1, Row2, Column2 : Distance)。但是此算子不会返回具体的垂点坐标。当我们希望显示垂线的时候是需要知道垂点坐标,才可以绘制该直线的。
二、计算垂线方程代码
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
read_image (Image01, 'D:/01.png')
*画点
row_cross1:=287
col_cross1:=243
gen_cross_contour_xld (Cross, row_cross1 ,col_cross1 , 26, 0.785398)
*画直线
row1_Line1:=507
col1_Line1:=241
row2_Line1:=336
col2_Line1:=561
gen_region_line (RegionLines, row1_Line1, col1_Line1, row2_Line1, col2_Line1)
*计算直线与水平线的角度
angle_lx (row1_Line1, col1_Line1, row2_Line1, col2_Line1, Angle_Line1)
*计算与该直线垂直的直线的方程
angleH:=Angle_Line1
k:=tan(angleH)
b:=col_cross1-k*row_cross1
*任意给一个x坐标,计算y
xTest:=600
yTest:=k*xTest + b
*画垂线
gen_region_line (RegionLines1, row_cross1 ,col_cross1, xTest, yTest)
*计算直线与其垂线的夹角,验证是否是90度
angle_ll (row_cross1 ,col_cross1, xTest, yTest, row1_Line1, col1_Line1, row2_Line1, col2_Line1, Angle1)
*计算直线与垂线的交点
intersection_lines (row_cross1 ,col_cross1, xTest, yTest, row1_Line1, col1_Line1, row2_Line1, col2_Line1, Row, Column, IsOverlapping)
gen_cross_contour_xld (Cross1, Row, Column, 26, 0.785398)
*连接点与垂点
gen_region_line (RegionLines2, row_cross1 ,col_cross1, Row, Column)
*刷新显示
dev_set_line_width (5)
dev_display (Image01)
dev_set_color ('red')
dev_display (Cross)
dev_set_color ('green')
dev_display (Cross1)
dev_set_color ('blue')
dev_display (RegionLines2)
dev_set_color ('orange')
dev_display (RegionLines)
热门推荐
华东五校和C9哪个厉害级别更高?附华五和C9最低录取分数线
C9联盟扩展至C9+3+1:新增四所高校实力全解析
备考中如何保持持续的学习动力
吃鸡蛋能补充哪些营养
爱情中的承诺:一种深刻的情感表达
世界心脏日:病态窦房结综合征
世界心脏日:病态窦房结综合征
何昌娟:走出大山,攀上珠峰
低空经济校企合作,共同打造新型人才培养基地
欧联杯:法兰克福实力强劲,费伦茨晋级希望渺茫?
AI技术革新,重塑零售消费体验
建筑张园丨百年建筑静静讲述时代故事
哈利波特魔法觉醒:魔杖木材特性全解析
早期胃癌内镜下治疗后出血的预防
独立游戏开发者必读:TapTap平台游戏上架完整指南
钛锅:烹饪新潮流的引领者,但是也有几种不同类型
珐琅锅和砂锅的区别
不同频段内的完美人声,是什么样的?
打台球如何改善出杆不稳,如何拿杆
LOL 打野时如何有效利用视野?
三岗十八级工资标准表怎么解读?
如何进入和发展金融行业?从事金融行业需要具备哪些素质和技能?
次氯酸片使用指南:稀释、存储及用途
近视、远视、老视……教你来分清
前端引流后端如何盈利
别再瞎练了!力量耐力训练基本法,掌握方法才能事半功倍!
辽宁盘锦:擦亮“碱地柿子”新名片
德巴金的功效和作用是什么
从垃圾山到生态公园:福州牛岗山公园的绿色蜕变
红海行业前景分析