Hatena::ブログ(Diary)

名もないテクノ手 このページをアンテナに追加 RSSフィード Twitter

EPUB版『InDesign者のための正規表現入門』

InDesignのTips一覧

2010-11-08

[]Exifで解像度(ppi)を変更する

解像度を変更するには、基本的にPhotoshopを使います。しかし、画像の再サンプル(やリサイズ)をしないなら、Exifを書き換えるだけで解像度(ppi)を変更できます*1。コマンドラインなどから変更できれば、画像のバッチ処理などにいろいろ応用できるでしょう。

使用したのは「ExifTool」です。以前にこちらでもちょっと紹介しました。

実際にこの画像を使ってやってみました。

f:id:seuzo:20101108135915j:image

Photoshop上で確認すると72ppiになっています。

f:id:seuzo:20101108135916p:image

ExifToolでExifを確認してみます。

$ exiftool 001.jpg 
ExifTool Version Number         : 7.52
File Name                       : 001.jpg
Directory                       : .
File Size                       : 64 kB
File Modification Date/Time     : 2010:07:28 15:55:06+09:00
File Type                       : JPEG
MIME Type                       : image/jpeg
Exif Byte Order                 : Big-endian (Motorola, MM)
Image Description               : Back Camera
Make                            : Apple
Camera Model Name               : iPhone
Orientation                     : Horizontal (normal)
X Resolution                    : 72
Y Resolution                    : 72
Resolution Unit                 : inches
Software                        : 4.0.1
Modify Date                     : 2010:07:28 15:34:28
Y Cb Cr Positioning             : Centered
Exposure Time                   : 1/15
F Number                        : 2.4
Exposure Program                : Program AE
ISO                             : 400
Exif Version                    : 0221
Date/Time Original              : 2010:07:28 15:34:28
Create Date                     : 2010:07:28 15:34:28
Shutter Speed Value             : 1/15
Aperture Value                  : 2.4
Metering Mode                   : Average
Flash                           : Auto, Did not fire
Focal Length                    : 3.9 mm
Subject Location                : 1295 967 699 696
Flashpix Version                : 0100
Color Space                     : sRGB
Exif Image Width                : 640
Exif Image Height               : 478
Sensing Method                  : One-chip color area
Exposure Mode                   : Auto
White Balance                   : Auto
Scene Capture Type              : Standard
Sharpness                       : Hard
Image Width                     : 464
Image Height                    : 640
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
Aperture                        : 2.4
Image Size                      : 464x640
Shutter Speed                   : 1/15
Focal Length                    : 3.9 mm
Light Value                     : 4.4

この状態で、ExifToolから解像度を変更します。念のため、Resolution Unitも指定しておきましょう。*2

$ exiftool -XResolution="350" -YResolution="350" -resolutionunit=inches 001.jpg

Photoshop上で確認すると350ppiになっています。

f:id:seuzo:20101108142603p:image

ExifToolでも確認してみます。

$ exiftool -s -XResolution -YResolution -resolutionunit 001.jpg 
XResolution                     : 350
YResolution                     : 350
ResolutionUnit                  : inches

InDesign上に配置した際も正しく認識しています。

f:id:seuzo:20101108142604p:image


Exif情報がない画像にExifを追加した場合

画像のExif情報をすべて廃棄するには

$ exiftool -overwrite_original -all= 001.jpg

とします*3。exiftoolでは、画像情報から読み取れるものを生成してしまいますが、Exif Viewer :: Add-ons for Firefoxなどを使用すれば、Exif情報がなくなっているのを確認できます。

f:id:seuzo:20101108142605p:image

Photoshop上で確認すると、解像度は72ppiに戻っています。

f:id:seuzo:20101108152702p:image

Exif情報がない状態で再度解像度を変更してみます。

$ exiftool -XResolution="350" -YResolution="350" -resolutionunit=inches 001.jpg
    1 image files updated
$ exiftool 001.jpg
ExifTool Version Number         : 7.52
File Name                       : 001.jpg
Directory                       : .
File Size                       : 63 kB
File Modification Date/Time     : 2010:11:08 15:28:21+09:00
File Type                       : JPEG
MIME Type                       : image/jpeg
Exif Byte Order                 : Big-endian (Motorola, MM)
X Resolution                    : 350
Y Resolution                    : 350
Resolution Unit                 : inches
Y Cb Cr Positioning             : Centered
Image Width                     : 464
Image Height                    : 640
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
Image Size                      : 464x640

Photoshop上で確認すると、指定通りに350ppiになっています。

f:id:seuzo:20101108152703p:image


Photoshop形式(psd)ファイルは内部に解像度を保持している

Photoshop形式(psd)ファイルは内部に解像度を保持しているようです。ためしに350ppiの画像を保存して、Exifを削除し、解像度を書き換える実験を行います。

「002.psd」はPhotoshop上で見ると350ppiを持っています。

f:id:seuzo:20101108174353p:image

まだこの状態では、Exif情報とPhotoshop上の解像度は一致しています。

$ exiftool 002.psd
ExifTool Version Number         : 7.52
File Name                       : 002.psd
Directory                       : .
File Size                       : 883 kB
File Modification Date/Time     : 2010:11:08 15:32:52+09:00
File Type                       : PSD
MIME Type                       : application/photoshop
Num Channels                    : 3
Image Height                    : 640
Image Width                     : 464
Bit Depth                       : 8
Current IPTC Digest             : cdcffa7da8c7be09057076aeaf05c34e
Coded Character Set             : UTF8
Application Record Version      : 0
IPTC Digest                     : cdcffa7da8c7be09057076aeaf05c34e
XMP Toolkit                     : Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00
Already Applied                 : True
Color Mode                      : 3
Create Date                     : 2010:11:08 15:28:21+09:00
Metadata Date                   : 2010:11:08 15:32:52+09:00
Format                          : application/vnd.adobe.photoshop
Instance ID                     : xmp.iid:FC7F117407206811ACAF8E98728B9279
Document ID                     : xmp.did:FB7F117407206811ACAF8E98728B9279
Original Document ID            : xmp.did:FB7F117407206811ACAF8E98728B9279
History Action                  : saved, converted, derived, saved
History Instance ID             : xmp.iid:FB7F117407206811ACAF8E98728B9279, xmp.iid:FC7F117407206811ACAF8E98728B9279
History When                    : 2010:11:08 15:32:52+09:00, 2010:11:08 15:32:52+09:00
History Software Agent          : Adobe Photoshop CS5 Macintosh, Adobe Photoshop CS5 Macintosh
History Changed                 : /, /
History Parameters              : from image/jpeg to application/vnd.adobe.photoshop, converted from image/jpeg to application/vnd.adobe.photoshop
Derived From Instance ID        : xmp.iid:FB7F117407206811ACAF8E98728B9279
Derived From Document ID        : xmp.did:FB7F117407206811ACAF8E98728B9279
Derived From Original Document ID: xmp.did:FB7F117407206811ACAF8E98728B9279
X Resolution                    : 350
Displayed Units X               : inches
Y Resolution                    : 350
Displayed Units Y               : inches
Global Angle                    : 30
Global Altitude                 : 30
Photoshop Thumbnail             : (Binary data 4497 bytes, use -b option to extract)
Exif Byte Order                 : Big-endian (Motorola, MM)
Bits Per Sample                 : 8 8 8
Photometric Interpretation      : RGB
Orientation                     : Horizontal (normal)
Samples Per Pixel               : 3
Resolution Unit                 : inches
Software                        : Adobe Photoshop CS5 Macintosh
Modify Date                     : 2010:11:08 15:32:52
Y Cb Cr Positioning             : Centered
Exif Version                    : 0221
Color Space                     : Uncalibrated
Exif Image Width                : 464
Exif Image Height               : 640
Compression                     : JPEG (old-style)
Thumbnail Offset                : 394
Thumbnail Length                : 0
Image Size                      : 464x640

ExiftoolでExif情報を削除してみます。

$ exiftool -all= 002.psd
    1 image files updated
$ exiftool 002.psd
ExifTool Version Number         : 7.52
File Name                       : 002.psd
Directory                       : .
File Size                       : 868 kB
File Modification Date/Time     : 2010:11:08 17:48:48+09:00
File Type                       : PSD
MIME Type                       : application/photoshop
Num Channels                    : 3
Image Height                    : 640
Image Width                     : 464
Bit Depth                       : 8
Color Mode                      : RGB
IPTC Digest                     : cdcffa7da8c7be09057076aeaf05c34e
Global Angle                    : 30
Global Altitude                 : 30
Photoshop Thumbnail             : (Binary data 4497 bytes, use -b option to extract)
Image Size                      : 464x640

このファイルをPhotoshopで開くと350ppiを保持しつづけています。

f:id:seuzo:20101108174354p:image

ちなみにPhotoshopの「ファイル情報...」を開くとこんな感じになっています。

f:id:seuzo:20101108174355p:image

このファイルのExif情報に解像度を追加します。

$ exiftool -XResolution="72" -YResolution="72" -resolutionunit=inches 002.psd
    1 image files updated

$ exiftool 002.psd
ExifTool Version Number         : 7.52
File Name                       : 002.psd
Directory                       : .
File Size                       : 868 kB
File Modification Date/Time     : 2010:11:08 17:55:55+09:00
File Type                       : PSD
MIME Type                       : application/photoshop
Num Channels                    : 3
Image Height                    : 640
Image Width                     : 464
Bit Depth                       : 8
Color Mode                      : RGB
IPTC Digest                     : cdcffa7da8c7be09057076aeaf05c34e
Global Angle                    : 30
Global Altitude                 : 30
Photoshop Thumbnail             : (Binary data 4497 bytes, use -b option to extract)
Exif Byte Order                 : Big-endian (Motorola, MM)
X Resolution                    : 72
Y Resolution                    : 72
Resolution Unit                 : inches
Y Cb Cr Positioning             : Centered
Image Size                      : 464x640

Exifが書き換わりました。実際のファイル:002.psd.zip 直

さあ、Photoshopで開いてみましょう。

f:id:seuzo:20101108174356p:image

Photoshop上では350ppiを保持したままです。かつ、ファイル情報は72ppiに書き換わっています。

f:id:seuzo:20101108174357p:image

このファイルをInDesignに貼り込んだらどうなるでしょう? こうなります。

f:id:seuzo:20101108174358p:image

InDesignExif情報を見て画像の解像度を決めているようです(あるいはExifを優先していると考えられます)。PSプリンタに出してみましたが、画面のとおりのレイアウトが保たれました。

*1:ただし、(後述するように)個々のフォーマット内部で保持している解像度とExif値が異なるような場合、アプリケーションがどちらを利用するかについては判断できていません。以下は限られたフォーマットと特定のアプリケーションでの実験です。結果を保証できるものではありません。

*2:ちなみに、デフォルトではバックアップファイルが出来るので、すでにバックアップがあるのなら「-overwrite_original」オプションを追加すればいいでしょう。

*3:この方法は一括でExif情報を削除する有効な方法です。

おおもりおおもり 2010/11/09 20:58 何故にフレミングの左手の法則?

seuzoseuzo 2010/11/09 21:10 はやり左手は新鮮な感じがすr...

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/seuzo/20101108/1289207825