シネマスコープの画像はかっこいい
カメラで撮影した画像は基本的に二種類の縦横比率になる。
一つは4:3、

もう一つは16:9だ。

どちらもよく見る一般的な比率だ。大半の人がこのどちらかで写真を撮っている。
しかし最近Twitterでこんな横長の写真を見ることが多くなった。

なんとなくスタイリッシュな印象を持った。
これは2.35:1という比率らしい。
映画で多用されることから、シネマスコープとも呼ばれるとか。
私もこんな写真を作りたいと編集をしてみたが、これがなかなかめんどくさい。
こんな感じで、写真の上部を黒塗りにする必要があるからだ。

いちいちこんなことやってられん、ってことで今回はpythonでこの黒塗り作業を自動化してみた。
ソフトは無料配布するのでぜひ使てみてほしい。
※4:3の写真でこのソフトを使用すると、黒帯部分が太くなってしまうので、最後に16:9の比率にクロップするプログラムを追加しました。(2021/2/28)
シネマスコープ画像作成ソフトの使い方
まずは写真を適当なフォルダにまとめて突っ込む。
そして下記リンクより、ソフトをダウンロード
zipファイルの中身を開くと、CinemaScopeConverter.exeが入っているので、それを起動する。
フォルダ選択画面が立ち上がるので、先ほど写真を突っ込んだフォルダを選択。

ソフトが消えたらおわり!
写真が入っているフォルダを見てみると、シネマスコープ比率になった写真が入っているはず。
ってことで、変換した写真をちょっと見てってくだせぇ。











どう?ちょっと映画チックなそれっぽい写真になるでしょ?
シネマスコープの難しさ
このソフトを使えば、一応シネマスコープ比率になるが、その扱いは難しい。
というのも、先ほど述べたように、もともとは4:3や16:9で撮り、そこから上下を黒塗りにするので、撮影時点で「黒塗りにされるであろう部分」を想像しながら撮ることになる。
対象物を画面一杯に収めてしまうと、上下が切り取られて悲しい気分になる。
多少引きの絵で、上下に余白を残して撮影しなければならない。
pythonプログラムの中身
今回のプログラムはこんな感じ。
#モジュールインポート
from PIL import Image, ImageDraw
from glob import glob
from os import path
from tkinter import filedialog
#tkinterのフォームで写真の入ったファイルパスを取得
folder_path = filedialog.askdirectory(initialdir ='C:\\pg',title = '写真が入っているフォルダを選択してください')
#ファイルの一覧をリストで取得
files = glob(folder_path + "/*")
#ファイルのリストから一つづ配列に拾う
file_list = []
for file in files:
#ファイル名取得
print(file)
file_list.append(path.dirname(file) + "/" + path.basename(file))
#もう一度ファイルを一つづ上下を黒塗りと切り取りにして保存
for index in range(len(file_list)):
try:
#写真を開く
img = Image.open(file_list[index])
except Exception:
continue
#黒塗り
up_right_y = (img.height/2)-(img.width /2.35 /2)
under_left_y = (img.height/2)+(img.width /2.35 /2)
draw = ImageDraw.Draw(img)
draw.rectangle((0, 0, img.width, up_right_y), fill=(0, 0, 0))
draw.rectangle((0, under_left_y, img.width, img.height), fill=(0, 0, 0))
#切り抜き
up_left_y = (img.height/2)-(img.width /16*9 /2)
under_right_y = (img.height/2)+(img.width /16*9 /2)
img = img.crop((0,up_left_y,img.width,under_right_y))
img.save(file_list[index])
コメント