2

色によるオブジェクト認識を行う必要があるロボットビジョンプロジェクトに取り組んでいます。私は現在、この目的のためにマスクを使用しています。ここまでは順調ですが、特定の設定を微調整する必要があり、これらの変更が最終結果にどのように影響するかを実際に確認したいと考えています。

私の最初の考えは、「よし、スクリーンにマスクを印刷する」だったので、マスクをサーフェスのように扱おうとしましたが、PyGame マスクはスクリーン サーフェスに「ブリット」できないことがわかりました。

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 に答える