画像加工・切り抜き

Photoshopで商品画像を一括トリミングする手順|服16枚でアクションの固定枠を検証

セントラルオフィス編集部公開日 約9分で読めます

スマートトリミングAIを開発している株式会社セントラルオフィスです。

新作の服をまとめて撮ったあと、Photoshop のアクションとバッチで商品画像を一括トリミングしようとしている方も多いのではないでしょうか。

Adobe の公式ヘルプにも、画像の周りの余分な部分を自動で切り取る「トリミング」の機能が載っています。

ただ、1枚目で決めた切り抜き枠をアクションに記録して残りの写真に流したとき、服の大きさや置いた位置が違う写真でも同じようにそろうのでしょうか。

そこで、自社で生成した平置きの服16枚を使って、1枚目の枠をそのまま流した場合と、1枚ずつ服の輪郭を測った場合を比べてみました。

Photoshop で服の商品画像をまとめてそろえたい方は参考にしてください。

結論:枠は使い回さず服の輪郭を1枚ずつ測る

結論から言うと、1枚目で決めた切り抜き枠を全部の写真に使い回すのはおすすめしません。

同じ枠を16枚に当てると、6枚で服の一部が枠の外に出て切れ、残りの写真でも服の大きさが枠の51%から127%までばらついたからです。

なので、Photoshop だけでやるなら、1枚ずつ背景との境目で服の輪郭を取ってから、決まった大きさの枠に収める手順がおすすめです。

  1. レベル補正で、背景の白に近い部分を真っ白にそろえる(白の値は245前後)
  2. 「イメージ」メニューの「トリミング」で「左上のピクセルカラー」を選び、上下左右を切る
  3. 服の長いほうの辺が枠の決まった割合(たとえば84%)になるよう縮小する
  4. カンバスサイズで白を足して、正方形など決まった大きさにする

この4つをアクションに記録しておけば、写真ごとに服の輪郭から枠が決まるので、服の大きさや位置が違っても枠に対する大きさがそろいます。

上の段は1枚目の枠をそのまま当てた結果で裾が切れたり服が小さく残ったりしている 下の段は1枚ずつ服の輪郭を測って長辺84%に収めた結果
上の段は1枚目の枠をそのまま当てた結果で裾が切れたり服が小さく残ったりしている 下の段は1枚ずつ服の輪郭を測って長辺84%に収めた結果

見てほしいのは、上の段のデニムとワンピースで裾が枠の外に出ている点と、パーカーだけが枠の中で小さく残っている点です。

下の段のように1枚ずつ輪郭を測ると、どの服も枠の中で同じくらいの大きさになりました。

試した条件

素材は、自社で生成した平置きの服16枚です。

Tシャツ・デニム・ニット・シャツ・スカート・ワンピース・パーカー・コートなどを、大きさも置き位置もばらばらにして撮った想定で作りました。

画像はどれも縦1536px・横1024pxで、背景は白ですが、実際の撮影と同じように253〜255の細かいムラを入れています。

結果はすべて、Photoshop の「トリミング」と「レベル補正」の規則を Python で再現して数えたものです。

Photoshop 本体でバッチを回した数字ではないので、細かい px の値は環境によって変わると考えてください。

1枚目の枠を16枚に流すと6枚で服が切れた

最初に試したのは、いちばん素朴なやり方です。

1枚目の Tシャツで服の長辺が枠の84%になる枠を決め、その枠を残りの15枚にそのまま当てました。

アクションで切り抜きツールの操作を記録すると、枠は写真ごとに測り直されず、同じ位置と大きさで再生されるからです。

公式ヘルプにはこの点の書き方がないので、ここは自社で再現したときの動きとして読んでください。

16枚それぞれに1枚目の枠を当てた結果 赤枠の6枚は服の一部が枠の外に出て切れている
16枚それぞれに1枚目の枠を当てた結果 赤枠の6枚は服の一部が枠の外に出て切れている

見てほしいのは、赤枠の6枚です。

服枠の外に出た幅
ウールロングコート166px
マキシワンピース130px
プリーツスカート63px
デニムパンツ53px
白Tシャツ13px
チェックシャツ13px

丈の長いコートやワンピースは、1枚目の Tシャツよりも縦に長いので、上下が大きく切れました。

13pxの2枚は、ぱっと見では気づきにくい幅です。

忙しい日に一覧で見ただけだと、袖の先が少し欠けた画像をそのまま登録してしまうかもしれません。

切れなかった10枚にも、別の問題が残りました。

服の長辺が枠に占める割合は、パーカーの51%からコートの127%までばらつき、一覧に並べると服の大きさがそろいません。

考えてみれば当然で、服ごとに大きさが違う以上、同じ枠では同じ大きさに写りません。

「トリミング」は背景のムラで何も切れない

それなら写真ごとに輪郭を測ればいい、というのが次の試しです。

Photoshop の「イメージ」メニューにある「トリミング」は、「左上のピクセルカラー」と同じ色の部分を上下左右から切り取ってくれます。

ところが、撮ったままの16枚に当てると、どの写真も1pxも切れませんでした。

背景の白に253〜255のムラがあると、左上の色とぴったり同じ色の行や列が端にほとんどないからです。

公式ヘルプの説明を読んでも、色の近さの許容値を決める設定は見当たりません。

試しに、色の差を4まで同じ色とみなす条件で数えてみると、16枚とも面積の36〜80%が切れて、服の輪郭のすぐ外まで届きました。

つまり、背景のムラを先に消しておけば「トリミング」は使えます。

カーディガンの写真 撮ったまま ▶ そのままトリミングすると何も切れない ▶ レベル補正で背景を白にそろえてからトリミングすると服の輪郭で切れる
カーディガンの写真 撮ったまま ▶ そのままトリミングすると何も切れない ▶ レベル補正で背景を白にそろえてからトリミングすると服の輪郭で切れる

見てほしいのは、真ん中の画像が撮ったままと同じ大きさのまま残っている点です。

右の画像では、レベル補正で背景を真っ白にしてから「トリミング」を当てたので、服の輪郭のすぐ外で切れています。

レベル補正の白の値は245前後が無難

背景のムラを消すには、レベル補正の白の値(ハイライトの入力レベル)を下げて、白に近い部分を真っ白にします。

この値をどこまで下げるかで、結果が大きく変わりました。

白の値服の輪郭からの枠のずれ服が白く飛んだ割合
2527〜298px最大0.3%
2452〜21px最大3.5%
2351px前後白い服で41.8〜59.2%

252では、背景のムラが残った写真で枠が服から大きく離れ、いちばんずれた写真は298pxも離れていて、これでは余白がそろいません。

245にすると、ずれは16枚とも21px以内に収まりました。

235まで下げると枠はほぼ服の輪郭どおりになるものの、白い服そのものが背景と一緒に真っ白になってしまいます。

白シャツと白Tシャツで白の値を245と235にした結果 赤く塗った部分が服の中で真っ白に飛んだところ
白シャツと白Tシャツで白の値を245と235にした結果 赤く塗った部分が服の中で真っ白に飛んだところ

見てほしいのは、235のときに白シャツの52.2%、白Tシャツの41.8%が赤く塗られている点です。

245のときは、同じ2枚でも0.0%と0.1%でした。

白い服は、白の値を少し下げすぎただけで、生地の陰影が消えて背景と見分けがつかなくなります。

レベル補正はトリミングの枠を決めるためだけに使い、書き出す画像には元の写真を使う手順にすれば、この白飛びは商品画像に残りません。

アクションでいえば、レベル補正を調整レイヤーで当てて枠を決め、そのレイヤーを捨ててから書き出す流れです。

使う前に気をつけたいこと

今回の手順は、背景が白か無地の写真を前提にしています。

背景に柄がある写真や、床の影が濃く写った写真では、「トリミング」が影の外側で止まり、服の輪郭で切れません。

白い服と白い背景の組み合わせも、白の値を245にしても3.5%ほど白く飛ぶ写真がありました。

白キャミソールのような薄い白の生地が多い店では、白の値を248前後まで戻して、ずれが大きくなった写真だけ手で直すほうが安全です。

撮影の段階で背景を少しグレーに寄せておくと、白い服と背景の境目が残りやすくなります。

白背景の撮り方そのものは白背景の商品写真の撮り方に、服の種類ごとの余白の決め方はアパレル物撮りのトリミングにまとめています。

切り抜く前に背景そのものを白にしたい場合は、Photoshopで服の背景を白にする手順で自動選択ツールとマスクの仕上がりを比べています。

一括で流す前の1枚目を、色の補正から書き出しまでどう作るかはPhotoshopでアパレルの商品画像を作る手順にまとめました。

まとめ

Photoshop で服の商品画像を一括トリミングするとき、1枚目の枠をアクションでそのまま流すと、16枚のうち6枚で服が切れ、残りも大きさがそろいませんでした。

写真ごとに輪郭を測るには、レベル補正で背景のムラを消してから「トリミング」を当て、服の長辺を決まった割合に縮めてからカンバスを足す手順が使えます。

レベル補正の白の値は245前後が無難で、下げすぎると白い服が背景と一緒に飛ぶ点だけは気をつけてください。

よくある質問

#Photoshop#一括トリミング#商品画像#アパレル#アクション