Last active
June 20, 2024 04:20
-
-
Save moyashi/09f7fe7f2890c40155fd0d07d83d41bf to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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