首页 > 编程知识 正文

halcon使用教程,halcon新手入门

时间:2023-05-03 15:01:31 阅读:159205 作者:2053

Halcon入门教程(01 )本教程很简单,实现了计算下图中每个剪辑的数量和方向的功能。 主要内容是从Halcon的帮助文档“Chapter 4 Programming HDevelop”翻译而来的。

的图像如下。

本教程假设每个HDevelop参数都是默认值,通常所有新安装的HDevelop参数都是默认值。 否则,可以使用以下命令行方法将每个HDevelop参数重置为默认值:

hdevelop -reset_preferences

首先打开HDevelop。 如果调整了每个窗口的位置,可以使用菜单命令Window Organize Windows将每个窗口恢复到其原始位置。

有多种方法可以加载图像。 最简单的方法是将图像拖动到HDevelop中。 会自动显示Read Image窗口,您可以在其中设置基本参数。

加载完成后,相应的语句会显示在Program window中。 当然,也可以直接在此窗口中输入此语句。 或者,如果在Operator Window中输入read_image,此窗口将显示此函数的功能说明,您也可以为每个输入/输出参数设置此窗口。

读取图像后的第二个操作是对threshold进行阈值分割。 同样,在操作窗口中输入threshold。 如下图所示设定参数,点击apply按钮。 在这种情况下,此语句将直接执行,但不会添加到Program Window中。 试着调整一下参数吧。 用apply按钮,可以直接获得当前参数的效果。 在graphics window中可以直观地看到结果,红色区域是Threshold中选择的区域。 验证参数,然后单击OK按钮将此命令添加到Program Window中。

下一步操作是获取连通区域。 Halcon有一个非常好的功能:可以提供建议的操作。 菜单Suggestions Successors提供Threshold后面经常跟着的命令。 第一个是连接。 执行connection的结果是得到了各连通区域。 在graphics window中,不同的连通区域显示为不同的颜色。

图形窗口可以有很多参数。 在此窗口中单击邮件时,将显示如下图所示的对话框。

单击“设置参数”(Set Parameters )将打开以下对话框:

大家可以随便试试。 各参数的意思比较简单。

将鼠标悬停在ConnectedRegions变量上并单击鼠标右键将显示以下菜单:

单击“Select”可显示每个Region的详细信息,共有98个区域。

实际上,我们没有这么多剪辑。 产生了这么多区域,说明我们的threshold参数不合适。 研究如何进一步优化Threshold参数。

“grayhistogram”窗口在菜单可视化/工具grayhistogram中打开。 我们调整threshold时选择的区域会发生变化。

使用这个Gray Histogram,可以比较容易地选择合适的Threshold。

调整Threshold参数后得到的区域变少了很多,但还是比剪辑的数量多。 这表明需要其他方法。 Halcon提供了功能主机的功能。 此功能不仅在Histogram中划分地区,还使用Region的其他Feature。 对我们这个区分的需求来说,面积非常容易使用Feature。 因为所有的剪辑都有几乎相同的面积。 做具体的操作吧。

菜单可视化/工具featurehistogram可以打开featurehistogram窗口。 根据下图的参数进行设定就可以了。 必须注意的是我用红框包围的区域。 如果这不是复选标记,则无法单击Insert Code按钮。

单击Insert Code可生成实际的代码。

select_shape(connectedregions,SelectedRegions,' area ',' and ',6302.75,8541.28 )还计算每个片段的方向。 为此,请使用以下语句:

orientation _ region (selected regions,Phi )此语句计算每个区域的面积和中心点坐标。

Area_center(selectedregions,area,Row,Column )最后在屏幕上显示结果。 首先,在整个程序之前添加语句。

dev_close_window ) )语句的作用是关闭打开的图像窗口。 再加一个:

dev _ open _ window (0,0,512,512,‘black’,WindowHandle ) )。

此语句创建一个新窗口。 我们可以稍后在WindowHandle上操作此窗口。

各夹子的方向如下所示。

dev_disp_text(deg(Phi ) degrees )、) image )、Row、Column、(black )、[]、[] )的输出结果如下:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。