【问题标题】:Display PyGame Mask on screen在屏幕上显示 PyGame 掩码
【发布时间】:2014-04-14 23:11:43
【问题描述】:

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

我的第一个想法是,'好吧,在屏幕上打印遮罩',所以我尝试将遮罩当作表面处理,但结果证明 PyGame 遮罩不能'blit'到屏幕表面:

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

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

另外,我试图显示的掩码是由 pygame.mask.from_threshold 生成的

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

【问题讨论】:

  • 创建一个带有遮罩的表面并将其绘制到屏幕上。 maskSurf = pygame.Surface((width, height), masks=myMask
  • 我会检查的,谢谢!

标签: python pygame mask pygame-surface


【解决方案1】:

我也一直在研究这个,在我看来似乎存在差距。无论如何,我都找不到 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    • 2017-02-16
    • 2018-05-18
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多