モックアップ画像を合成するpythonプログラム
デジタル画像販売などで、モックアップ画像を作成するのに苦労していませんか?
または、苦労するというほどでもないけど少しでも楽にしたくありませんか?
商品画像1枚または3枚固定ですが、pythonによる画像の合成プログラムを公開します。
便宜上A3/A4と書いていますが、処理の内容としてはそのようなサイズ限定や縦横限定はありません。
事前に用意するのはモックアップに配置する画像と、配置する位置を透過した画像だけです。
デジタル画像販売なら、実際に販売する画像や、拡大をしているなら拡大前の画像とモックアップのテンプレートです。
実例
実際の記事では以下に掲載しているすべてのモックアップ画像を作成するのに使用しています。
方針転換、これで決定!noteカバー画像とEtsyの連携、そして画質確保のツール作成|へろん
Etsyで2点目出品!初売上の感動と「寄り道」する決意|へろん
Geminiを限界までぶん回す!Etsyに3点目出品!|へろん
例えばこんなA3横向き画像と

こんなモックアップ画像(額の中は透過してあります)

これをプログラムで自動的に

このように合成することができます。
ただし、合成対象は1枚固定、3枚固定の2つのプログラムになっていますので、例えばそれを1つのプログラムにしたい場合や2枚の商品を合成する、というような場合にはAIなどを使って修正して頂く必要があります。
合成のロジック
1枚合成/3枚合成いずれも同じです。
プログラムがモックアップ画像の透明部分を検知
合成対象画像を透明部分の幅に合わせ縮小/拡大(拡大すると画像が荒れますので、モックアップ画像に対して十分大きなサイズの画像を使用するのが望ましいです)
透明部分の背景を白塗りしたところに、幅サイズを合わせた画像を中央配置(つまり、逆に言うと透明部分の高さが不十分の場合には上下ともはみ出す)
応用例
プログラミングをしない方だと以下の使い方など見てもわからないかも知れないので、事前に応用例です。
AIが簡単に作ってくれるはずです。
決まった場所に決まったファイル名で商品画像とモックアップのテンプレートを置くと言うルールを決めておく
合成したモックアップ画像を決まった名前にすると決めておく
以下に記載するプログラムの説明をAIに渡す
それをダブルクリックすれば実行できるスクリプトを作成してもらう
以下の2つのプログラムが含まれます。
composite_into_alpha_slots.py(A4 3枠)
実行形:
python composite_into_alpha_slots.py <template_png> <left_image>
<center_image> <right_image> <output>
template_png
PNGのみ(透過スロット検出のため)
例: mockup_template_a4_3slots.png
left_image
JPG または PNG
例: crop_main_product.jpg
center_image
JPG または PNG
例: crop_wide_product.jpg
right_image
JPG または PNG
例: crop_interior_product.jpg
output
PNG または JPG
例: out/mockup_a4_product.png / out/mockup_a4_product.jpg
composite_into_alpha_slot_single.py(A3 単枠)
実行形:
python composite_into_alpha_slot_single.py <template_png>
<product_image> <output>
template_png
PNGのみ
例: mockup_template_a3_single.png
product_image
JPG または PNG
例: source_a3_landscape.png
output
PNG または JPG
例: out/mockup_a3_product.png / out/mockup_a3_product.jpg
使用方法
macOSの場合
初回のみ実行
python -m venv .venv
./.venv/bin/python -m pip install numpy pillowA4 x 3枚をモックアップに埋め込む
./.venv/bin/python composite_into_alpha_slots.py \
./mockup_template_a4_3slots.png \
./crop_main_product.jpg \
./crop_wide_product.jpg \
./crop_interior_product.jpg \
./out/mockup_a4_product.pngA3 x 1枚をモックアップに埋め込む
./.venv/bin/python composite_into_alpha_slot_single.py \
./mockup_template_a3_single.png \
./source_a3_landscape.png \
./out/mockup_a3_product.pngWindowsの場合
※ Windowsについては私の環境では試すことができないため、AI調べです。
PowerShell / cmd 共通 (初回のみ実行)
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install numpy pillowPowerShell
A4 x 3枚をモックアップに埋め込む
.\.venv\Scripts\python.exe .\composite_into_alpha_slots.py `
.\mockup_template_a4_3slots.png `
.\crop_main_product.jpg `
.\crop_wide_product.jpg `
.\crop_interior_product.jpg `
.\out\mockup_a4_product.pngA3 x 1枚をモックアップに埋め込む
.\.venv\Scripts\python.exe .\composite_into_alpha_slot_single.py `
.\mockup_template_a3_single.png `
.\source_a3_landscape.png `
.\out\mockup_a3_product.pngcmd.exe
A4 x 3枚をモックアップに埋め込む
.\.venv\Scripts\python.exe .\composite_into_alpha_slots.py ^
.\mockup_template_a4_3slots.png ^
.\crop_main_product.jpg ^
.\crop_wide_product.jpg ^
.\crop_interior_product.jpg ^
.\out\mockup_a4_product.pngA3 x 1枚をモックアップに埋め込む
.\.venv\Scripts\python.exe .\composite_into_alpha_slot_single.py ^
.\mockup_template_a3_single.png ^
.\source_a3_landscape.png ^
.\out\mockup_a3_product.png有料エリアにはプログラムのzipファイルおよびコードのみ含まれます。
ここから先は
¥ 500
この記事が気に入ったらチップで応援してみませんか?
