我有一个区域,用阈值创建在图像的H通道上。现在我有了一个新的区域,并减少了它的域,使其具有新的图像。
在这张新图像上,我需要数一下洞。我所说的洞是指没有像素的区域。
例如,如果我有一块红色的棋盘,上面有蓝色的方块,并选择了红色,我会得到一个新的图像,上面填满了蓝色方块的方孔。
我怎样才能得到这些洞的数量呢?
我已经这样做了,但肯定有更好的方法:
threshold(ImageHGreenReduced, RegionHGreenReduced, 0 ,255)
connect_and_holes(RegionHGreenReduced, NumConnected, NumberCrateWindows)发布于 2020-07-10 04:04:27
在我看来,你做这件事的方式很简单。这里有一个细微的变化。给定输入图像:

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“中的孔数生成的

发布于 2020-09-25 23:24:53
您可以使用以下命令提取红色区域的'holes_num‘特征:
connect_and_holes(myRegion, numConnected, numHoles) 额外的好处是,您可以检查numConnected以测试分隔红色区域的洞的情况。
https://stackoverflow.com/questions/62791621
复制相似问题