Halcon-查找边缘位置,绘制线和线相交处

问题描述 投票:0回答:1

我从Halcon开始,从头开始,但我无法解决问题。我有一个对象,需要从该对象中提取边缘,沿着边界画一条线,并在这些线的交点上画一个点。

我已经尝试过tresholding,edge,color edge,但是它会在所有地方提取边框,除了我需要的边框。

这只是我正在做的测试,因为它类似于我以后在真实项目中必须做的工作。但是在两天内,我没有设法解决它。

这里是基本图像,并且是所需的结果图像:

enter image description hereenter image description here

到目前为止我所拥有的:

open_framegrabber ('GigEVision', 0, 0, 0, 0, 0, 0, 'default', -1, 'default', -1, 'false', 'default', 'S1204667', 0, -1, AcqHandle)
set_framegrabber_param (AcqHandle, 'Gain', 1.0)
set_framegrabber_param (AcqHandle, 'ExposureTime', 20000)
set_framegrabber_param (AcqHandle, 'timerDuration', 1)
set_framegrabber_param (AcqHandle, 'BalanceWhiteAuto', 'Off')
set_framegrabber_param (AcqHandle, 'BalanceRatioSelector', 'Red')
set_framegrabber_param (AcqHandle, 'BalanceRatio', 1.22)
set_framegrabber_param (AcqHandle, 'BalanceRatioSelector', 'Green')
set_framegrabber_param (AcqHandle, 'BalanceRatio', 1.00)
set_framegrabber_param (AcqHandle, 'BalanceRatioSelector', 'Blue')
set_framegrabber_param (AcqHandle, 'BalanceRatio', 1.95)


grab_image (Image, AcqHandle)

threshold (Image, Region, 0, 128)
expand_region (Region, Region, RegionExpanded, 15, 'image')

close_framegrabber (AcqHandle)

enter image description here

我从Halcon开始,从头开始,但我无法解决问题。我有一个对象,需要从该对象中提取边缘,沿着边界画一条线,并在相交处画一个点...

edge-detection halcon
1个回答
1
投票

Halcon有很多方法可以根据要求来实现。用于检测线的最常见技术之一是使用霍夫变换。我附加了一个小的HDevelop脚本,该脚本显示了如何获取图像中两条线的交点。其他人可以使用相同的原理。

Halcon中最重要的概念之一就是区域。示例程序首先允许您通过在两条线的顶部绘制矩形来创建两个区域。下图中的区域为黑色。在程序的第8行(draw_rectangle2 ...),您将需要在第一行周围绘制一个边界框。完成后右键单击。第10行(绘制rectangular2 ...)将期望您在第二行周围绘制一个边界框。完成后再次右键单击。

© www.soinside.com 2019 - 2024. All rights reserved.