最近のJPEG画像には基本的にExif情報ってのが埋め込まれています。
Exif情報とは、その画像の撮影日時、撮影場所、解像度、撮影方向などなど
様々な情報が埋め込まれています。
Wikipediaだと下のように書かれているけど、
カメラ映像機器工業会規格をみるともう少しありました。
撮影日時
撮影機器のメーカー名(製造・販売元)
撮影機器のモデル名(カメラ付き携帯電話・スマートフォンの機種名など)
画像全体の解像度
水平・垂直方向の単位あたり解像度
撮影方向
シャッター速度
絞り(F値)
ISO感度
測光モード
フラッシュの有無
露光補正ステップ値
焦点距離
色空間(カラースペース)
GPS情報 - GPS付きカメラの場合、緯度・経度・標高など。
サムネイル(160×120画素)
見たらわかるように
まあいろいろあるってことです。
実際に世の中に出回っている画像の多くはExif情報は入っていません。
理由?
たぶんアップローダーや、投稿者がExif情報を削除しているのか、
カメラが古くてExif情報が設定されていないか、
そもそも写真じゃない、のどれかだと思います。
さて今回の記事を読んでいる人は、おそらくImageMagickを使っていて
Exif情報の無い画像にExif情報をぶち込んでやりたい!!って思っているのかな。
なんでExif情報を入れたほうが良いのかというと
画像を回転させる時に画像の質を落とさずに回転させることが出来るからです。
ImageMagickは少し分かるけどなにそれ?的な方は
いちおう先に、下の記事を読んでからのほうが良いと思います。
https://omohikane.com/imagemagick_commands/
さて、それではImageMagickを使ってExif情報の無い画像に
Exif情報を埋め込んでいきましょう。
実はね、Exiftoolっていうソフトを使うと一瞬なんだけど
仕様の関係でImageMagickで統一したいんだ!!って方は読み続けてください。
楽したい!って方は下の記事に飛んだほうが早いです(笑)。
Exif情報が無いのを確認する
まずは、Exif情報のない画像を用意します。
今回使う画像はこちら↓
ImageMagickの identify -verboseで確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
$ identify -verbose exif_test.JPG Image: exif_test.JPG Format: JPEG (Joint Photographic Experts Group JFIF format) Mime type: image/jpeg Class: DirectClass Geometry: 1936x2592+0+0 Resolution: 72x72 Print size: 26.8889x36 Units: Undefined Type: TrueColor Endianess: Undefined Colorspace: sRGB Depth: 8-bit Channel depth: red: 8-bit green: 8-bit blue: 8-bit Channel statistics: Pixels: 5018112 Red: min: 0 (0) max: 255 (1) mean: 175.424 (0.687938) standard deviation: 77.4196 (0.303606) kurtosis: -0.647262 skewness: -0.962899 entropy: 0.876576 Green: min: 0 (0) max: 255 (1) mean: 166.886 (0.654454) standard deviation: 74.9116 (0.293771) kurtosis: -0.903399 skewness: -0.760317 entropy: 0.875531 Blue: min: 0 (0) max: 255 (1) mean: 152.676 (0.598731) standard deviation: 78.0927 (0.306246) kurtosis: -1.51731 skewness: -0.480268 entropy: 0.867184 Image statistics: Overall: min: 0 (0) max: 255 (1) mean: 164.996 (0.647041) standard deviation: 76.8202 (0.301256) kurtosis: -1.03281 skewness: -0.736704 entropy: 0.873097 Rendering intent: Perceptual Gamma: 0.454545 Chromaticity: red primary: (0.64,0.33) green primary: (0.3,0.6) blue primary: (0.15,0.06) white point: (0.3127,0.329) Background color: white Border color: srgb(223,223,223) Matte color: grey74 Transparent color: black Interlace: None Intensity: Undefined Compose: Over Page geometry: 1936x2592+0+0 Dispose: Undefined Iterations: 0 Compression: JPEG Quality: 100 Orientation: Undefined Properties: date:create: 2016-06-06T21:10:51+09:00 date:modify: 2016-06-06T21:10:51+09:00 jpeg:colorspace: 2 jpeg:sampling-factor: 1x1,1x1,1x1 signature: a71b330e23392135941fd65348852af61474f5f3e8a9b95083ffbc1d890c7e57 Artifacts: filename: exif_test.JPG verbose: true Tainted: False Filesize: 2.002MB Number pixels: 5.018M Pixels per second: 33.45MB User time: 0.150u Elapsed time: 0:01.150 Version: ImageMagick 6.9.3-6 Q16 x86_64 2016-02-28 http://www.imagemagick.org |
exif:~が無いのが確認出来ましたね。
それでは、この画像にExif情報をぶち込むための材料を作ります。