halcon算子之根据霍夫变换在图像中寻找直线

*读取一张图像
read_image (Image, ‘矩形’)

get_image_size (Image, Width, Height)

dev_open_window (0, 0, Width, Height, ‘black’, WindowHandle)

*剪切指定矩形的图像
rectangle1_domain (Image, ImageReduced, 76, 120.938, 464.875, 966.813)

  • 寻找图像中矩形的边缘
    sobel_amp (ImageReduced, EdgeAmplitude, ‘thin_sum_abs’, 3)

  • 设置输出对象颜色
    dev_set_color (‘red’)

  • 对上面获取的边缘图像进行阈值操作
    threshold (EdgeAmplitude, Region, 10, 255)

  • 对阈值后的区域进行连通处理
    connection (Region, ConnectedRegions)

  • 根据面积过滤出图像中外矩形区域
    select_shape (ConnectedRegions, SelectedRegions, ‘area’, ‘and’, 2500, 99999)

  • 霍夫变换来寻找区域中的直线
    hough_lines (SelectedRegions, 4, 50, 5, 5, Angle, Dist)

  • 设置输出对象的颜色
    dev_set_color (‘blue’)

  • 将直线转换为区域
    gen_region_hline (Regions, Angle, Dist)

  • 根据方向特征来过滤想要的直线
    select_shape (Regions, SelectedRegions1, ‘orientation’, ‘and’, 1.5, 1.6)
    select_shape (Regions, SelectedRegions2, ‘orientation’, ‘and’, 0, 0.1)

  • 显示图像和结果直线
    dev_display (Image)
    dev_display (SelectedRegions1)
    dev_display (SelectedRegions2)

所用算子具体参数含义:
rectangle1_domain(Image : ImageReduced : Row1, Column1, Row2, Column2 : )
Image :Input image.
ImageReduced:缩小定义域的图像。
Row1:图像区域左上角的行索引。
默认值: 100
建议值: 10, 20, 50, 100, 200, 300, 500
输入值的范围: 0 ≤ Row1 ≤ 1024
Column1 :图像区域左上角的列索引。
默认值: 100
建议值: 10, 20, 50, 100, 200, 300, 500
范围: 0 ≤ Column1 ≤ 1024
Row2 :图像区域右下角的行索引
默认值: 200
建议值: 10, 20, 50, 100, 200, 300, 500
值的范围: 0 ≤ Row2 ≤ 1024
Column2 :图像区域右上角的列索引。
默认值: 200
建议值: 10, 20, 50, 100, 200, 300, 500
值的范围: 0 ≤ Column2 ≤ 1024

sobel_amp(Image : EdgeAmplitude : FilterType, Size : )
Image :图像
EdgeAmplitude : 边缘幅度(梯度幅度)图像。
FilterType, 过滤器
Size:过滤口的大小。默认值:3,建议值::3、5、7、9、11、13、15、17、19、21、23、25、27、29、31、33、35、37、39

threshold(Image : Region : MinGray, MaxGray : )

connection (Region, ConnectedRegions):区域连接

select_shape(Regions : SelectedRegions : Features, Operation, Min, Max : )
Features:待检查的形状特征。
Operation:单个特性的链接类型。
Min:特征的下限或“最小值”。

hough_lines(RegionIn : : AngleResolution, Threshold, AngleGap, DistGap :Angle, Dist)
RegionIn:二值化边缘图像
AngleResolution:角度的步进,步进大小为AngleResolution/1
Threshold:要寻找的直线的阈值
AngleGap:定义Hough图像中的点的邻域范围,从而确定局部最大值。
DistGap:定义Hough图像中的点的邻域范围,从而确定局部最大值。
Angle:找到的直线的角度
Dist:找到的直线到圆点的距离

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页