# DPlngScan

### Exif metadata

Many jpeg files contain information about the image stored in metadata at the start of the image file. There is a wide range of data that may be inserted, some of which may be in proprietry format. Data of general interest is the JFIF or EXIF metadata. Most DSLR derived images contain a lot of technical information about the image. DPlngScan is now able to analyse some of the metadata.

If a jpeg file is dragged to the iconbar icon with the control key, or control + shift keys held down, the image is not loaded and displayed. Instead the metadata (if any is present) is decoded and the result is displayed in a text window.

The simplest metadata is probably the simple JFIF header. This provides some very basic information about the image. An example is shown below. This was produced by DPlngScan itself when saving a scanned image.

    Analysing file ADFS::Titanium1.$.Storage.Transient.Default.200116.Receipt/jpg

    This appears to be a valid jpeg file

    Found an APP0 header marker viz. 0xFF 0xE0 (APP0) at file offset 0x2 (2) - analysing
    Analysing APP0 marker segment metadata
    This is a JFIF segment
    X and Y are dots per inch
    X density: 300
    Y density: 300
    Thumbnail horizontal pixel count: 0
    Thumbnail verticalal pixel count: 0
    No embedded thumbnail image
    Found start of image data marker, viz. 0xFF 0xDB, at file offset 0x14 (20)
    Analysis of file ADFS::Titanium1.$.Storage.Transient.Default.200116.Receipt/jpg
    completed

Much more information is provided by EXIF metadata. When only the control key is held down, a simple output is generated. An extract from such an analysis is shown below.

    Analysing file ADFS::Titanium1.$.Coding.DPilling.DPScan.Store.Exif_test_imgs.7DA_1680/JPG

    This appears to be a valid jpeg file

    Found an APP1 marker viz. 0xFF 0xE1 at file offset 0x2 (2) - analysing
    Analysing APP1 metadata segment header
    This is a standard Exif segment
    Manufacturer: Canon
    Model: Canon EOS 7D Mark II
    Image orientation: Row 0 is at top, column 0 is at left
    X resolution: 72
    Y resolution: 72
    Resolution unit: inch
    Date/Time: 2018:05:06 10:56:59
    ....

    Exposure time/s: 1/125
    F-stop (aperture): 11
    Exposure program: Aperture priority mode
    ISO speed rating: 320
    ...

    Colour space: sRGB
    Main image width: 5472
    Main image height: 3648

The types of information in the exif header varies depending on the originator of the image.

If both the control and shift keys are held down, then the output is more verbose. The additional information about each tag is probably only of use if there is a problem with decoding the metadata. Some short extracts from the output corresponding to the data above is shown below.

    Analysing file ADFS::Titanium1.$.Coding.DPilling.DPScan.Store.Exif_test_imgs.7DA_1680/JPG

    Found EOI (End of image) marker
    Found SOI (Start of image) marker
    This appears to be a valid jpeg file

    Found an APP1 marker viz. 0xFF 0xE1 at file offset 0x2 (2) - analysing
    Analysing APP1 metadata segment header
    The header ID string is Exif
    This is a standard Exif segment
    Exif segment length is 33270 bytes
    Byte order is INTEL (little endian)
    TIFF marker 0x2A found
    Offset to IFD0 data is 8 bytes
    Number of entries in IDF0 is 12
    ...

    Tag number (hex) is 10F
    Data format (hex) is 2 (ASCII string)
    Number of components is 6
    Data value of offset is 9E (hex), 158 (dec) bytes
    Manufacturer: Canon

    Tag number (hex) is 110
    Data format (hex) is 2 (ASCII string)
    Number of components is 21
    Data value of offset is A4 (hex), 164 (dec) bytes
    Model: Canon EOS 7D Mark II

    Tag number (hex) is 112
    Data format (hex) is 3 (Unsigned short)
    Number of components is 1
    Data value of offset is 1 (hex), 1 (dec) bytes
    Image orientation: Row 0 is at top, column 0 is at left

    Tag number (hex) is 11A
    Data format (hex) is 5 (Unsigned rational)
    Number of components is 1
    Data value of offset is C4 (hex), 196 (dec) bytes
    X resolution: 72
    ...

    Offset to Exif Sub IFD data is 360
    Exif Sub IFD data found
    Number of entries in IFD is 38

    Tag number (hex) is 829A
    Data format (hex) is 5 (Unsigned rational)
    Number of components is 1
    Data offset or data value (hex) is 336
    Exposure time/s: 1/125

    Tag number (hex) is 829D
    Data format (hex) is 5 (Unsigned rational)
    Number of components is 1
    Data offset or data value (hex) is 33E
    F-stop (aperture): 11

    Tag number (hex) is 8822
    Data format (hex) is 3 (Unsigned short)
    Number of components is 1
    Data offset or data value (hex) is 3
    Exposure program: Aperture priority mode

    Tag number (hex) is 8827
    Data format (hex) is 3 (Unsigned short)
    Number of components is 1
    Data offset or data value (hex) is 140
    ISO speed rating: 320

It is always interesting to see what information is being attached to the image. If the camera is GPS enabled, then the location, altitude, direction, etc is all included.

When posting images on social media or web pages, or sending images to other persons or organisations, it is always wise to remove the information from the image.

Scanning with TWAIN | Index | Contact and miscellaneous information

DPlngScan is © David Pilling, 1993
Email:chris@chris-johnson.org.uk