2

我正在做一些机器人视觉项目,我需要通过颜色进行一些对象识别。我目前正在为此使用口罩。到目前为止一切顺利,但现在我需要调整某些设置,我想实际看看这些更改如何影响最终结果。

我的第一个想法是,“好吧,在屏幕上打印蒙版”,所以我尝试将蒙版视为一个表面,但事实证明 PyGame 蒙版不能“blit”到屏幕表面:

TypeError: argument 1 must be pygame.Surface, not pygame.mask.Mask

我目前正在使用 PyGame.mask 操作并猜测遮罩的外观,但我认为在屏幕上显示当前遮罩会非常有用。我认为如果我可以将遮罩应用到表面并查看实际识别的内容可能会更好,但是遮罩的黑色/白色表示就足够了。我阅读了文档,但不知道如何进行。

此外,我试图显示的面具是由 pygame.mask.from_threshold

关于如何做到这一点的任何线索?

4

1 回答 1

4

我也一直在研究这个,在我看来似乎存在差距。无论如何,我都找不到 pygame.mask 对象并将其复制回表面。

我发现'人们'倾向于得到 mask.outline() 然后绘制点。

画出面具的轮廓,例如:

olist = myImage_mask.outline()
pygame.draw.lines(blankSurf,(200,150,150),1,olist)

或填充面具的轮廓,例如:

olist = myImage_mask.outline()
pygame.draw.polygon(blankSurf,(200,150,150),olist,0)
于 2014-08-06T13:57:41.033 回答