以下のコードを使って、Google Colabにアップロードした画像ファイルを撮影日時に基づいた名前に変更し、50%にリサイズし、明度を10%上げてJPEG形式で別名保存することができます。PythonのPILライブラリを使用しています。
- まず、必要なライブラリをインストールします。
!pip install pillow piexif
- 以下は、アップロード、画像処理、別名保存を行うためのコードです。
import os
from PIL import Image, ImageEnhance
import piexif
from google.colab import files
# 画像ファイルをアップロード
uploaded = files.upload()
for filename in uploaded.keys():
# 画像を開く
img = Image.open(filename)
# EXIFデータの取得
exif_dict = piexif.load(img.info['exif'])
# 撮影日時の取得
try:
datetime_original = exif_dict['Exif'][piexif.ExifIFD.DateTimeOriginal].decode('utf-8')
new_filename = datetime_original.replace(":", "").replace(" ", "_") + ".jpg"
except KeyError:
print(f"{filename} に撮影日時が含まれていません。")
continue
# 画像のリサイズ (50%に縮小)
img_resized = img.resize((img.width // 2, img.height // 2))
# 明度を10%アップ
enhancer = ImageEnhance.Brightness(img_resized)
img_brightened = enhancer.enhance(1.1) # 明度を1.1倍に
# 新しいファイル名で保存(JPEG形式)
img_brightened.save(new_filename, "JPEG", exif=img.info['exif'])
print(f"{filename} を {new_filename} として保存しました。")
コードの解説:
files.upload()
で画像をColabにアップロードします。piexif
ライブラリを使って画像のEXIF情報を取得し、撮影日時 (DateTimeOriginal
) に基づいてファイル名を変更します。resize()
メソッドで画像のサイズを50%にリサイズします。ImageEnhance.Brightness
を使って、明度を10%アップします。- 新しいファイル名でJPEG形式で保存します。
アップロードされた画像にEXIF情報が含まれていない場合は、元のファイル名がそのまま保持されます。
英訳
Here’s the code to upload an image file to Colab, rename it based on the shooting date and time, resize it to 50%, increase the brightness by 10%, and save it as a new JPEG file. The code uses the PIL
library in Python.
- First, install the necessary libraries:
!pip install pillow piexif
- Here is the code to upload, process, and save the image:
import os
from PIL import Image, ImageEnhance
import piexif
from google.colab import files
# Upload image file
uploaded = files.upload()
for filename in uploaded.keys():
# Open image
img = Image.open(filename)
# Get EXIF data
exif_dict = piexif.load(img.info['exif'])
# Get the shooting date and time
try:
datetime_original = exif_dict['Exif'][piexif.ExifIFD.DateTimeOriginal].decode('utf-8')
new_filename = datetime_original.replace(":", "").replace(" ", "_") + ".jpg"
except KeyError:
print(f"No shooting date found in {filename}.")
continue
# Resize image (50% reduction)
img_resized = img.resize((img.width // 2, img.height // 2))
# Increase brightness by 10%
enhancer = ImageEnhance.Brightness(img_resized)
img_brightened = enhancer.enhance(1.1) # Increase brightness by 10%
# Save as new file (JPEG format)
img_brightened.save(new_filename, "JPEG", exif=img.info['exif'])
print(f"Saved {filename} as {new_filename}.")
重要単語と熟語
resize
– リサイズする、サイズを変更するenhance
– 強化する、(明度を)上げるEXIF data
– 画像のメタデータ情報 (撮影日時やカメラの設定など)