Python3でExifデータを消す
前回までで、Exifで色々なデーターを取得できることが確認できました。前回の記事はコチラ▼
今回は、そんなExifデータを消すコードを方法を紹介します。
ただし、Exif情報が削除されると、画像に関するメタデータが失われる可能性があります。画像の撮影日時やカメラの設定などの情報が必要な場合は、注意が必要です。
コチラのアプリで消すこともできます
使用素材
コチラの画像で作成していきます。
毎週末開催されている青山ファーマーズマート
Pythonのバージョン
Python3.12.1のバージョンを使用しています。
PCにPythonが導入されている前提で話を進めます。
導入がまだの方はこちらで導入してね。
Python
↓ここをクリック
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
cdの後ろにスペースを入れないとダメピヨ!
※フォルダーのディレクトリーが分からない時は、フォルダーをターミナルにドラックすると表示されるよ。
「Python ファイル名」を記入して「Enter」
Python␣読み込むファイル名
Python 読み込むファイル名
>Enter
完成
同じフォルダ内を再確認すると完成画像が登場しています。
元画像は色々なExifデータがありますが、Exif消去後はデーターが消えてます!
Before
コメント