2014-04-14 61 views
1

我正在研究一些機器人視覺項目,我需要根據顏色進行一些對象識別。我目前正在使用口罩。到目前爲止這麼好,但現在我需要調整某些設置,並且我想實際看到這些更改如何影響最終結果。在屏幕上顯示PyGame蒙版

我的第一個想法是,「好吧,打印屏幕上的面具」,所以我試圖把面具就像一個表面,但事實證明pygame的口罩不能「位圖傳送」給篩面:

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

我目前正在使用PyGame.mask操作並猜測掩碼是什麼樣子,但我認爲在屏幕上顯示當前掩碼將會非常有用。我認爲如果我可以將面罩應用到表面並查看實際被識別的是什麼,但黑色/白色的面罩表示就足夠了,情況可能會更好。我閱讀了文檔,但無法弄清楚如何繼續。

另外,我想顯示的面具是由pygame.mask.from_threshold

如何做到這一點任何線索產生的?

+0

帶着面具創建一個表面,並繪製到屏幕上。 'maskSurf = pygame.Surface((width,height),masks = myMask' – KodyVanRy

+0

我會檢查一下,謝謝! –

回答

1

我也一直在研究這一點,那裏似乎有一個差距。我無法找到有pygame.mask對象和blit回到表面。

我發現的是'人們'傾向於得到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)