【问题标题】:Halcon - Count number of holesHalcon - 计算孔数
【发布时间】:2020-10-28 16:14:35
【问题描述】:

我有一个区域,在图像的 H 通道上使用阈值创建。现在我有了一个新区域,并缩小了它的域以拥有一个新图像。

在这张新图片上,我需要数数孔。我所说的孔是指没有像素的区域。

例如,如果我有一个带有蓝色方块的红色板,然后选择红色,我会得到一个新的图像,在蓝色方块所在的位置填充有方孔。

我怎样才能得到这些洞的数量?

我已经这样做了,但一定有更好的方法:

threshold(ImageHGreenReduced, RegionHGreenReduced, 0 ,255)
connect_and_holes(RegionHGreenReduced, NumConnected, NumberCrateWindows)

【问题讨论】:

    标签: count halcon


    【解决方案1】:

    在我看来,你的做法很简单。这是一个轻微的变化。给定输入图像:

    read_image(Image, './red_board_blue_squares.png')
    
    access_channel(Image, ImageRed, 1)
    
    threshold(ImageRed, ImageRedRegion, 0, 100)
    
    connection(ImageRedRegion, ImageRedConnectedRegions)
    
    count_obj(ImageRedConnectedRegions, NumberOfHoles)
    
    Message := 'Found ' + NumberOfHoles$'d' + ' holes'
    dev_disp_text (Message, 'window', 12, 12, \
                   'black', [], [])
    

    使用变量“NumberOfHoles”中的孔数产生以下输出

    【讨论】:

      【解决方案2】:

      您可以使用以下方法提取红色区域的“holes_num”特征:

      connect_and_holes(myRegion, numConnected, numHoles) 
      

      作为奖励,您可以检查 numConnected 以测试划分红色区域的孔的状况。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-15
        • 1970-01-01
        • 1970-01-01
        • 2020-12-12
        相关资源
        最近更新 更多