Halcon算子:最小外包矩形

本文最后更新于:2022年5月29日 上午

smallest_rectangle1() 和 smallest_rectangle2()

Halcon算子: smallest_rectangle1() 和 smallest_rectangle2()

介绍

  1. smallest_rectangle1(Regions : : : Row1, Column1, Row2, Column2)

    • 功能:返回平行坐标最小外包矩形

      该算子计算返回输入区域的平行于坐标系的最小外包矩形。该矩形是关于区域中心计算的最小平行外包。

    • 返回参数:

      Row1, Column1:矩形中心点的坐标。

      Row2, Column2:矩形右下角的点坐标。

  2. smallest_rectangle2 (Regions , Row, Column, Phi, Length1, Length2)

    • 功能:返回最小外包矩形

      该算子返回输入区域的最小外包矩形,该矩形是关于区域中心计算的最小外包面积矩形。

    • 返回参数:

      Row, Column :矩形中心点坐标

      Phi:最小包围矩形的长边与图像坐标系x轴的夹角(弧度值),x轴逆时针方向角度为正,顺时针方向角度为负。 范围: -pi / 2 < Phi && Phi <= pi / 2

      Length1, Length2:长边和短边。(长边Length1>短边Length2) Length2 >= 0.0 && Length2 <= Length1

示例

  • 原图:

  • smallest_rectangle1()处理结果

  • smallest_rectangle2()处理结果

  • halcon代码:

    1. smallest_rectangle1()

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      read_image (Image, 'test.png')
      * 使用全局阈值分割图像
      threshold (Image, thresholdRegion, 0, 160)
      * 将区域进行分开
      connection (thresholdRegion, ConnectedRegions)
      * 最小外接矩形处理
      smallest_rectangle1(thresholdRegion, row1, column1, row2,column2)
      gen_rectangle1 (Rectangle, row1, column1, row2,column2)
      stop()
      return ()
    2. smallest_rectangle2()

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      read_image (Image, 'test.png')
      * 使用全局阈值分割图像
      threshold (Image, thresholdRegion, 0, 160)
      * 将区域进行分开
      connection (thresholdRegion, ConnectedRegions)
      * 最小外接矩形处理
      smallest_rectangle2 (ConnectedRegions, minRow, midColumn, angle, Length1, Length2)
      * 显示
      gen_rectangle2_contour_xld (Rectangle, minRow, midColumn, angle, Length1, Length2)
      stop()
      return ()

Halcon算子:最小外包矩形
https://kevinloongc.github.io/posts/bd23ea3d.html
作者
Kevin Loongc
发布于
2021年11月30日
许可协议