Python

Python3で画像のExifデータを抽出して新規ファイルに書き出す(Pillow)

Pythone3で画像のExifデータを抽出して新規ファイルに書き出す(Pillow) Python
この記事は約5分で読めます。
piyo
piyo
今日の運勢

Python3でExifデータを抽出

前回は、ターミナルでExifの全データの書き出しをしました。前回の記事はコチラ▼

Python3で画像の全てのExifデータ抽出をしてターミナルに書き出す(Pillow)
Python3で全てのExifデータを抽出する 前回は、Exifデータについてと日時の書き出しをしてみました。前回の記事はこちら▼ 今回は、全てのデーターの書き出しをしてみます。 取得できたデータ内容 このような内容を画像から取得できます。...

今回は、同じフォルダ内に新規ファイルを作成して抽出したデータを記入する指示のコードにします。

使用素材

コチラの画像で作成していきます。

piyo
piyo

毎週末開催されている青山ファーマーズマート

Pythonのバージョン

Python3.12.1のバージョンを使用しています。

Dockを立ち上げる

command+「スペースキー」で検索窓が出てくる>「ターミナル」と記入>

「自分のPC名〜%」の後ろに記入していきます。

(例)gotoaya@AGMacBook-Air ~ % ←ここの後ろに記入

Pillowをインストール

Pillowを入れた記憶のない方はコチラを記入してインストール

※既に入れている人は飛ばしてOK

pip install Pillow

>Enter

EXIFの全データを書き出して同じフォルダの新規ファイルに記入するコード

Visual Studio Codeで記入しました。

from PIL import Image
from PIL.ExifTags import TAGS

# 画像ファイルを開く
im = Image.open('test.jpg')
# EXIF情報を得る
exif = im._getexif()

# 出力先のファイルを開く(新しく作成するか、既存のものを上書き)
with open('output.txt', 'w') as output_file:
    # 一覧で表示
    for tag, value in exif.items():
        tag_name = TAGS.get(tag, tag)
        output_file.write(f"{tag_name}: {value}\n")

print("Exifデータをoutput.txtに保存しました。")

※今回の元画像のデーター名は「test.jpg」。出力データー名は「output.txt」にしています。

Pythonの拡張子で保存

Pythonの拡張子(.py)で保存して画像と同じフォルダに入れる。

一つのフォルダに動画と.pyコードを格納

今回は「test10」という名前のフォルダに格納しました

Dockを立ち上げる

command+「スペースキー」で検索窓が出てくる>「ターミナル」と記入>

「自分のPC名〜%」の後ろに記入していきます。

(例)gotoaya@AGMacBook-Air ~ % ←ここの後ろに記入

読み込み場所を指定する

cd␣全部格納した、ディレクトリーを記入

cd ディレクトリーを記入

>Enter

piyo
piyo

cdの後ろにスペースを入れないとダメピヨ!

※フォルダーのディレクトリーが分からない時は、フォルダーをターミナルにドラックすると表示されるよ。

「Python ファイル名」を記入して「Enter」

Python␣読み込むファイル名

Python 読み込むファイル名

>Enter

完成

同じフォルダ内を再確認すると完成画像が登場しています。

ファイルの中身はコチラ

取得できた内容

一部の項目は写真の撮影条件や設定に関するものであり、一般の人が理解するには写真やカメラの基本的な知識が必要なため、一部です、

  1. GPS情報 (GPSInfo):
    • 緯度: 35度39分42.56秒(北緯)
    • 経度: 139度42分30.31秒(東経)
    • 位置情報が含まれており、この写真が撮影された地理的な座標を示しています。
  2. 解像度単位 (ResolutionUnit):
    • 2 はインチ単位を示しており、解像度の単位がインチであることを意味します。
  3. メーカー (Make):
    • Apple(この写真を撮影したデバイスのメーカー)
  4. モデル (Model):
    • iPhone XR(この写真を撮影したデバイスのモデル)
  5. ソフトウェア (Software):
    • 17.0.3(この写真を処理したソフトウェアのバージョン)
  6. 方向 (Orientation):
    • 1(通常の方向):写真の向きが通常の状態であることを示します。
  7. 撮影日時 (DateTime):
    • 2023年10月29日 11時48分10秒:写真が撮影された具体的な日時。
  8. XおよびY方向の解像度 (XResolution, YResolution):
    • 72.0 DPI:画像のXおよびY方向の解像度(ドット/インチ)。
  9. 露出時間 (ExposureTime):
    • 0.002秒:露出時間(シャッタースピード)。
  10. 絞り値 (ApertureValue):
    • f/1.8:レンズの絞り値。
  11. ISO感度 (ISOSpeedRatings):
    • 25:カメラのISO感度。
  12. 露光モード (ExposureMode):
    • 0(自動):露出モードが自動であることを示します。
  13. フラッシュモード (Flash):
    • 16(フラッシュなし):フラッシュモードがオフであることを示します。
  14. 焦点距離 (FocalLength):
    • 4.25mm:レンズの焦点距離。
  15. 撮影プログラム (ExposureProgram):
    • 2(絞り優先):絞り優先の撮影モード。
  16. 被写体の位置 (SubjectLocation):
    • (2013, 1511, 2217, 1330):画像内の被写体の位置(矩形領域の座標)。
  17. レンズ情報 (LensMake, LensModel, LensSpecification):
    • メーカー: Apple
    • モデル: iPhone XR back camera 4.25mm f/1.8
    • 仕様: (4.25, 4.25, 1.8, 1.8):使用されたレンズに関する情報。
  18. 画像の幅と高さ (ExifImageWidth, ExifImageHeight):
    • 幅: 4032ピクセル
    • 高さ: 3024ピクセル:画像の解像度。

コメント

タイトルとURLをコピーしました