Halcon用鼠标绘制及显示圆形

51 篇文章 178 订阅 ¥39.90 ¥99.00

算子draw_circle( : : WindowHandle : Row, Column, Radius)

功能:一个圆的交互绘图,操作该算子时,只要用鼠标操作,按下右键即可获取该圆所对应的坐标和半径。如果鼠标不做任何操作,直接按下右键,将不返回数据,可能会产生意想不到的后果。

输入参数:WindowHandle:输入画图对应的窗口句柄;

输出参数:Row:输出圆的X点坐标值;

Column:输出圆的Y点坐标值;

Radius:输出圆的半径;

 

算子gen_circle_contour_xld( : ContCircle : Row, Column, Radius, StartPhi, EndPhi, PointOrder, Resolution : )

功能:创建一个圆或圆弧轮廓。

输入参数</

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Halcon中实现鼠标落在绘制图形上,显示辅助信息的功能,可以使用Halcon的graphical user interface (GUI)库中的相关函数。 下面是一个示例代码,演示了如何在鼠标落在线条上时,显示线条的斜率和截距: ```Halcon read_image(Image, 'fabrics.png') open_window(0, 0, 512, 512, 'Mouse Events', '', 'black', WindowHandle) dev_display(Image) lines_gauss(Image, Lines, 7, 1, 'lines_canny') for i := 1 to tuple_length(Lines)/4 by 4 line_orientation(Lines[i,i+1,i+2,i+3], Orientation) disp_line(Lines[i,i+1,i+2,i+3], WindowHandle) add_mouse_callback(WindowHandle, 'move', 'mouse_move_callback', [i, Orientation[1], Orientation[2]]) endfor stop () procedure mouse_move_callback(WindowHandle, X, Y, Button, Ctrl, Shift, CallbackData) i := CallbackData[0] A := CallbackData[1] B := CallbackData[2] Row := Y Col := X LineRow1 := Lines[i] LineCol1 := Lines[i+1] LineRow2 := Lines[i+2] LineCol2 := Lines[i+3] Distance := abs((Row - LineRow1) * (LineCol2 - LineCol1) - (Col - LineCol1) * (LineRow2 - LineRow1)) / sqrt((LineCol2 - LineCol1)^2 + (LineRow2 - LineRow1)^2) if Distance < 5 Slope := -1 / A Intercept := B / A Message := 'Slope: ' + Slope.TupleString('0.2f') + ' Intercept: ' + Intercept.TupleString('0.2f') dev_set_color('black') dev_set_font('Arial-Bold-24') dev_set_paint('fill') dev_disp_text(Message, Row, Col, -1) endif endprocedure ``` 在此示例中,我们首先读取了一张图像,并打开了一个窗口。接着,我们使用线性高斯滤波器将图像中的边缘转换为直线,并在窗口中绘制了这些直线。然后,我们使用add_mouse_callback函数为每条直线添加了一个鼠标移动事件回调函数。当鼠标移动到直线附近时,回调函数会计算直线的斜率和截距,并在鼠标附近显示这些信息。 在代码中,我们使用了Halcon的dev_disp_text函数来绘制文本信息。该函数可以在指定的位置绘制文本,并支持多种字体、颜色和大小等选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器人自动化控制

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值