画像から不透明部分だけを切り抜く

画像から不透明部分だけを切り抜く

ここに書いたようにSubstanceDesignerは本来3Dモデル用のテクスチャを作るソフトなので、出力画像サイズが2のべき乗になる。

SubstanceDesignerを自分はプロシージャルな汎用画像編集ソフトとして使っているので、出力画像を任意の大きさにしたい事もある。という事でSubstanceDesigner 出力画像のうち欲しい部分のみを取り出すPython Scriptを用意した。(別にSubstanceDesigner出力の画像でなくても使える。)

使い方

いらない部分のアルファをにした出力を用意する。この画像の場合下の真っ黒な部分がアルファ0となっている。

そしてその画像を保存したら、後述するbatファイルにドラッグ&ドロップ。透明部分が切り抜かれた画像が画面に表示されるので、改めて保存するなりコピーするなりして使う。

※ Windowsのフォトアプリケーションが立ちあ上がる場合、画像を保存したりコピーしたりできない模様。なんでた。切り取り&スケッチとかで大丈夫。

この手順で出来上がった画像は、この記事のヘッダ画像にしてある。

ソースコード

githubにおいてある。batファイルは自分の環境用にpythonのvenvを1行目で設定している(call ..\venv\Scripts\activate.bat)のでそこを消して、PILが入っているpythonを呼び出すようにしてほしい。

https://github.com/logicalmodelin/LGMLtools/blob/543c63b1d037c0ad8ef87e004cb91c5a1b8a51f7/blog20221216_blog_header/cropOpacityBox.py

https://github.com/logicalmodelin/LGMLtools/blob/543c63b1d037c0ad8ef87e004cb91c5a1b8a51f7/blog20221216_blog_header/%E4%B8%8D%E9%80%8F%E6%98%8E%E9%83%A8%E5%88%86%E3%82%92%E3%81%8F%E3%82%8A%E3%81%AC%E3%81%8D.bat

pythonコマンドとしてはリサイズとファイル保存も対応している。ちゃんと動作検証してないけども。

前処理

前処理についても追加で記事を書いた。

今回の素材

いつものunsplash。ありがたや。

https://unsplash.com/photos/ao-6p6htmt4

Previous post SubstanceDesigner:マクベスチャート色を出力するカラーパレットノード
Next post SubstanceDesignerで画像編集する前の前処理