どうもUCロスの僕です(´;ω;`)
本日放送のガンダムUC Re:96の最終話よかったですなぁ。
オードリーの演説はぐっとくるものがあります。
「私たちの中に眠る、可能性という名の神」
UCはこの一言につきますな。
ということで、僕にも新たな可能性という名の神が・・・やどったような?(゚д゚)
それはカメラです(゚д゚)
やっとカメラが来ました!
いやぁ〜長かった。注文してから1ヶ月半は待ちました。
とりあえず、色んな物を撮っていって腕を磨いていきたいと思います(`・ω・´)
なお、弊社にはカメラマンが多数在籍しているようですぞ。カメラとITに興味があるかたはぜひこちらも御覧ください(^ω^)
さて、カメラで撮った画像といえば、Exifデータですな。
以前仕事でExifを取り扱ったりしておりました。当時はPHPでごにょごにょしておりましたが、、今回はPythonでExifを見ていく方法をご紹介したいと思います。
ということでまずはPythonのインストールから。
インストール方法についてはこちらから
PythonでとりあえずExif情報を取り出すにはPillowというライブラリが有名なようです。
ということでPillowを入れてみます。
$ sudo pip3.5 install Pillow
これでインストール完了です。簡単ですね。
では実際にExifをぶっこ抜いて見ましょう(゚д゚)
サンプル画像はこの狛犬様です。
えぇ。私が近所の神社で撮ってきました(゚д゚)
そしてexifを抜いてみるPythonのスクリプトはこちらです。
import pprint
from PIL import Image
import PIL.ExifTags
img = Image.open("sample.jpg")
exif_data = img._getexif()
exif = {
PIL.ExifTags.TAGS[k]: v
for k, v in img._getexif().items()
if k in PIL.ExifTags.TAGS
}
pp = pprint.PrettyPrinter(width=41, compact=True)
pp.pprint(exif)
※インデントはしっかり守ってっくださいね。
そしてこれをexif.pyという名前で保存して実行します。
# python3.5 exif.py
{'ApertureValue': (361471, 100000),
'BrightnessValue': (12324, 2560),
'ColorSpace': 1,
'Contrast': 0,
'CustomRendered': 0,
'DateTime': '2016:09:04 19:59:42',
'DateTimeDigitized': '2016:09:04 '
'12:51:06',
'DateTimeOriginal': '2016:09:04 '
'12:51:06',
'DigitalZoomRatio': (16, 16),
'ExifOffset': 206,
'ExifVersion': b'0230',
'ExposureBiasValue': (23, 10),
'ExposureMode': 0,
'ExposureProgram': 3,
'ExposureTime': (1, 60),
'FNumber': (35, 10),
'FileSource': b'\x03',
'Flash': 16,
'FocalLength': (300, 10),
'FocalLengthIn35mmFilm': 45,
'FocalPlaneResolutionUnit': 3,
'FocalPlaneXResolution': (83662979,
32768),
'FocalPlaneYResolution': (83662979,
32768),
'ISOSpeedRatings': 500,
'LensModel': 'E 30mm F3.5 Macro',
'LensSpecification': ((300, 10),
(300, 10),
(35, 10),
(35, 10)),
'LightSource': 0,
'Make': 'SONY',
'MaxApertureValue': (926, 256),
'MeteringMode': 2,
'Model': 'ILCE-6000',
'ResolutionUnit': 2,
'Saturation': 0,
'SceneCaptureType': 0,
'SceneType': b'\x01',
'Sharpness': 0,
'ShutterSpeedValue': (5906891, 1000000),
'Software': 'Adobe Photoshop Lightroom '
'6.6.1 (Macintosh)',
'WhiteBalance': 0,
'XResolution': (240, 1),
'YResolution': (240, 1)}
色々出てきました。これが噂のExifです。バージョンは2.3ですね。
使ってるカメラのメーカーや機種、レンズ、現像したソフトウェアの情報がだだ漏れです。
おそろしや((((;゚Д゚))))ガクガクブルブル
Exifはある程度基本的な仕様は決まっているものの、どのように実装するかはメーカーに委ねられている感があります。
メーカーが同じでも機種が異なれば保存される情報が全く異なることがあります。
その場合、メーカーの仕様にしたがってバイナリファイルを直接いじりながら情報を抜いたりもします。
(そんなことしなくてもある程度ライブラリがそろっていますが、そのライブラリの中では色々ごにょごにょ苦労の後が見受けられます(;´Д`))
色々と奥深いものです、Exifめ(;´Д`)
そんなExifさんのお話しでした。
