普段住んでる部屋がボロすぎて,実家帰ると部屋が暖かくて身震いしてしまうウェリーちゃんです.
今住んでる部屋は,築60年over,冷気ガンガン入ってくる,風呂桶が突然壊れて風呂入れなくなる,シャワーは5秒ごとに冷水が出る,etc.と大変です.
関係ない話はこれくらいにして,
それでは今回の記事の内容に入りましょう.
今回はpython使って逆光写真をアーティスティックにします.
↑SokuUPさんのサイトから持ってきた画像です.
SokuUp :: 風景 自然 空 夕焼け 逆光 原爆ドーム :: permalink
この画像の影の部分を,クレースケールの画素の輝度によって閾値で2分割します.
輝度は0で黒,255で白です.
次にマスク画像の作成です.
↑今回は閾値は輝度0〜100を全て黒(255),それ以上は全て白(0)の画像をマスク画像として作成します.黒っぽいところを白に,白っぽいところを黒にするって感じですね.
次に元の逆光写真の影の部分,マスク画像で言うと白くなった部分に合成する画像を用意します.
http://freeillustbook.net/starry-sky01/
↑このサイトから持ってきた画像と
http://shinkaiyablog.com/post-33/
↑このサイトから持ってきた画像を合成に使いましょう.
さて,それでは...
「フュージョン!!ハッ!!」
はい出来ました.
〇〇ンクスです.
カッケェーーー!!!!
あのさっきまでの逆光の風景写真がここまでカッコ良くなりました!!
Pythonやってて良かった〜ーー!!
みんなも頑張ってフュージョンしてみてくださいね.
下手だとデブのカッコ悪い奴になりますから気をつけて.
ごめんなさい.ドラゴンボール大好きなのでふざけてしまいました.
とまぁ茶番はこの辺にして,本当に合成してみましょう.
綺麗な雰囲気の画像が出来ましたねぇ.
逆光写真の影の部分を合成することでアーティスティックに仕上げることが出来ます.
ソースコードは以下のようになります.
from PIL import Image
import numpy as np
img=Image.open('gyakkou02.jpg','r')
img_back=Image.open('deep_sea03.jpg','r')
img_origin=img.copy()
width,height=img.size
img_back=img_back.resize((width,height))
img_gray=img.convert("L")
img_gray=img_gray.point(lambda x: 0 if x > 100 else 255)
mask=img_gray
img_result = Image.composite(img_back, img_origin, mask)
img_result.save('gakkyou_fusion3.jpg', 'JPEG', quality=100, optimize=True)
入力画像,二値化の閾値,二値化の値変更((0,255)→(100,255)など,透過率の変更ということ),二値化ではなく3,4,5値化で透過率をグラデーションする
などなどすることで,さらに面白いことが出来ます.
以下に他の画像での例をあげますね.
↑これが元画像です.
↓以下が合成画像です.
なんかいろんなバリエーションで出来ますねぇ.
参考にしたサイトは以下になります.
Python, Pillowで画像を一括リサイズ(拡大・縮小) | note.nkmk.me
Python, Pillowで二枚の画像をマスク画像に従って合成 | note.nkmk.me
PIL/Pillow チートシート - Qiita
Python 3.5 対応画像処理ライブラリ Pillow (PIL) の使い方 - Librabuch