Skip to content

Instantly share code, notes, and snippets.

@moyashi
Last active June 20, 2024 04:20
Show Gist options
  • Save moyashi/09f7fe7f2890c40155fd0d07d83d41bf to your computer and use it in GitHub Desktop.
Save moyashi/09f7fe7f2890c40155fd0d07d83d41bf to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
import piexif
from PIL import Image
# 必要ライブラリ
# pip3 install pillow piexif
# THETAを三脚に固定
# myself_behind_the_unit は自分がTHETAの後ろに立って撮影
myself_behind_the_unit = "R0010365.JPG"
# myself_in_front_of_the_unit は自分がTHETAの前に立って撮影
myself_in_front_of_the_unit = "R0010366.JPG"
# この2枚の全天球画像を使って自分を全天球画像から消す
# 元画像は本体をUSBケーブルで繋いで直接取り出す。さもないと必要なメタデータが削れる場合あり。
# 例えばiOSの写真アプリ&iCloudを経由すると必要なメタデータが削れ、
# Googleマップにアップロードしたときに全天球画像として認識されなくなる。
# macOS標準のイメージキャプチャ.appを使用して吸い出すのが確実。
output = "_" + myself_in_front_of_the_unit
base_image = Image.open(myself_in_front_of_the_unit)
overlay_image = Image.open(myself_behind_the_unit)
height = base_image.height
width = base_image.width
left_overlay_image = overlay_image.crop((0, 0, int(width / 3), height))
right_overlay_image = overlay_image.crop((int(width / 3 * 2), 0, width, height))
base_image.paste(left_overlay_image)
base_image.paste(right_overlay_image, (int(width / 3 * 2), 0))
base_image.save(output, quality=95)
piexif.transplant(myself_in_front_of_the_unit, output)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment