よちよちpython

独習 python/Qpython/Pydroid3/termux/Linux

画像合成のマスク作成の自動化の必要性

だいたい画像合成のしかたが分かってきたが、幾つか難点がある。

f:id:chayarokurokuro:20200818060505j:plain


上の画像は昨日投稿した【Pillow】画像のマスク処理と合成2 - よちよちpythonの方法でマスク画像のベースを作ったが、手作業で穴埋めが必要だった。



元の画像

f:id:chayarokurokuro:20200818061203j:plain



上の画像から前回のやり方でマスク画像を作ったのが下の画像。

f:id:chayarokurokuro:20200818061437j:plain

この画像をマスクに使うと、髪の毛や眼のくぼみ、右手のギターのピックアップ周辺や指板、あぐらの股の部分等は黒なので、合成したときにその部分は背景が透けてしまっておかしくなった。白で埋めなければならない。
Pillowだけでそんな高度な事ができるとも思えないし検索しても見つけられないので、描画アプリを使って手作業で白に塗りつぶした。



f:id:chayarokurokuro:20200818061959j:plain
この画像をマスクにして合成すると先頭の画像ができる。



ここまでのマスク画像作成作業を自動化しようとなると、

  1. 背景と対象とを切り分け
  2. 対象のみを白に塗りつぶす
  3. 背景は黒に塗りつぶす

など数段階がプログラムだけで出来なければならない。一般的にこれは機械学習を使って行われているようで、検索するとOpenCVを使う方法しか出て来ない。

次の課題は、OpenCVを使ったマスク画像の自動作成、か。いきなり高度になるな…