見出し画像

ComfyUIでまとめて画像加工する

ComfyUIを編集ツールの側面をまとめてみました。
画像生成AIの学習やLora学習をする際の画像データ加工に使える内容です。

最初にこの記事ではVideo Helper SuitLoad imagesを使います。

Load imagesのディレクトリにソース画像フォルダを指定して、Save Imageに、"出力フォルダ名 / ファイル名"を指定します。
(load imagesのディレクトリ内の画像ファイルは縦横サイズがバラバラのファイルを入れるとエラーが出ます。例えば1枚目が512*512で2枚目が512*768だとエラーが出ます。)

image_load_cap は何枚取り出すかです。0だと全て取り出します。
skip_first_images は先頭からいくつ飛ばすかです。上の写真だと2枚飛ばすので3枚目から始まります。
select_every_nth はスキップする枚数です。上記の写真だと3枚ごとに取り出すので、1を引いた2枚スキップで出ます。
上記の写真では、フォルダ内の2番目の画像から2枚飛ばで4枚取り出すという事になります。
言葉で書くと難しく感じるので、何度も操作すればわかります。

・リサイズ

これは単純なリサイズやリスケールが出来るノード。
Image Resizemoderesizeだとresize_widthresize_heightの値でリサイズされ、
rescaleだとrescale_factorの倍率でリスケールされる。


・回転、反転


・切り取り

以下は画像の切り取りです。
Image Crop Loacation で四角に切り取ります。
Image Crop Square Loacation を使うと正方形に切り取れます。
Rebatch Images を使っているのはデータ形状を変更する必要があるからです。


・キャンバスサイズを大きくする(Padding)

Padding2の方は、0を入れられないようなので横だけ、または縦だけ広げたい時はPadding1を使う必要があります。
Padding1は、Empty Imageで黒いキャンバスを作って(X,Y)を指定した場所に画像を張り付けています。白色が欲しい場合はcolorを"16777215"にします。
Padding2の方はキャンバスが大きくなっていないように見えますが、埋めた部分が透明だから見えていないだけです。
透明なキャンバスが欲しい場合は以下の形で作れます。


・画像を張り付ける


・顔抽出する

顔抽出は Image Crop Face を使います。
顔抽出した後は必ずリサイズして揃える必要があります。
crop_padding_factor を小さくすると顔が画面いっぱいになるように切り抜かれます。
cascade_xml で切り抜き方法の変更ができます。
下の写真のように上手く切り抜けない場合もあるのでパラメータ調整が必要です。


・背景を除去する

Transparancytrueにすると透過します。
only_mask trueにするとマスクだけとれます。

(透過した場合にRGB から ARGBに変わります。
出力を画像マスク分ける必要がある場合は、ビルトインのSplit Image With Alphaというノードを繋げて変換してください。再結合する際は、Join Image With Alpha というノードもあります。)

下は顔抽出と背景除去を一緒に行っています。


・顔にモザイク


・色んな画像エフェクト(フィルター、ポストプロセッシング)

ここはノードの紹介です。
以下はビルトインのノードなので名前で検索して出してください。

以下はComfyUI-post-processing-nodesになります。

他にもcomfyui-propostなどがあります。
WAS Node Suiteにもフィルターがたくさん入っています。

・データ形状の変換

狐のマークはビルトインのノードです

バッチに変換したり、リストに変換したりできます。
この記事でもRebatch images を使っていますが、ノードによって形状を変えないとエラーが出るものが結構あるので、臨機応変に変える必要があります。形状の話はややこしいので、Rebatch imagesを使えばわりといけます。

上記の写真のエクステンションは以下のものです。
Impact Pack
WAS Node Suite
Masquerade Nodes

データ形状を見たい場合はImpact PackImpactLoggerというノードがあります。これでログに出力できます。

この記事が気に入ったらサポートをしてみませんか?