Python

Python3でExifデータを消すコード(Pillow)

Python3でExifデータを消すコード(Pillow) Python
この記事は約4分で読めます。
piyo
piyo
今日の運勢

Python3でExifデータを消す

前回までで、Exifで色々なデーターを取得できることが確認できました。前回の記事はコチラ▼

今回は、そんな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

def remove_exif(image_path, output_path):
    # 画像を開く
    image = Image.open(image_path)

    # Exif情報を削除
    data = list(image.getdata())
    image_without_exif = Image.new(image.mode, image.size)
    image_without_exif.putdata(data)

    # 画像を保存
    image_without_exif.save(output_path)

if __name__ == "__main__":
    input_image_path = "test.jpg"  # 入力画像のパス
    output_image_path = "output.jpg"  # 出力画像のパス

    remove_exif(input_image_path, output_image_path)

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

このコードでは、Image.openで画像を開き、Image.newを使用して新しい画像を生成し、元の画像のピクセルデータを新しい画像にコピーしています。

これにより、Exif情報が削除された画像が生成されます。最後に、image_without_exif.saveを使用して画像を保存します。

Pythonの拡張子で保存

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

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

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

Dockを立ち上げる

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

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

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

読み込み場所を指定する

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

cd ディレクトリーを記入

>Enter

piyo
piyo

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

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

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

Python␣読み込むファイル名

Python 読み込むファイル名

>Enter

完成

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

元画像は色々なExifデータがありますが、Exif消去後はデーターが消えてます!

Before

元データ
Exifデータ消去後

コメント

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