how to write metadata information to a jpg file

30 visualizaciones (últimos 30 días)
Michael Phillips
Michael Phillips el 23 de Feb. de 2019
Comentada: Michael Phillips el 25 de Feb. de 2019
Hello,
I'm reading in .JPG files taken with a Phantom 4pro drone. These files have the following meta data that I can grab with "imfinfo":
Filename: '/Volumes/Utumno/Chile_2016/SG-161018-51m_images_only/101MEDIA/DJI_0112.JPG'
FileModDate: '18-Oct-2016 10:33:46'
FileSize: 5672512
Format: 'jpg'
FormatVersion: ''
Width: 4000
Height: 3000
BitDepth: 24
ColorType: 'truecolor'
FormatSignature: ''
NumberOfSamples: 3
CodingMethod: 'Huffman'
CodingProcess: 'Sequential'
Comment: {}
ImageDescription: 'DCIM\101MEDIA\DJI_0112.JPG'
Make: 'DJI'
Model: 'FC330'
Orientation: 1
XResolution: 72
YResolution: 72
ResolutionUnit: 'Inch'
Software: 'v01.19.5266'
DateTime: '2016:10:18 10:33:43'
YCbCrPositioning: 'Centered'
DigitalCamera: [1×1 struct]
GPSInfo: [1×1 struct]
UnknownTags: [3×1 struct]
ExifThumbnail: [1×1 struct]
I am manipulating these images and want to save them back out as a JPG with the same metadata that they strated with. However, when I save back out as a JPG the only metadata I can get to save are the following fields:
Filename: '/Volumes/Utumno/Chile_2016/SG-161018-51m_images_only/101MEDIA/rad_corr/test.JPG'
FileModDate: '23-Feb-2019 16:55:09'
FileSize: 2666899
Format: 'jpg'
FormatVersion: ''
Width: 4000
Height: 3000
BitDepth: 24
ColorType: 'truecolor'
FormatSignature: ''
NumberOfSamples: 3
CodingMethod: 'Huffman'
CodingProcess: 'Sequential'
Comment: {}
which means I'm missing the latter 14 fields. How can I save this ancillary information with my newly manipulated JPGs?
thanks!

Respuesta aceptada

Stephen23
Stephen23 el 24 de Feb. de 2019
  2 comentarios
Walter Roberson
Walter Roberson el 24 de Feb. de 2019
tl;dr : Comment is the only metadata that Matlab itself supports writing.
Michael Phillips
Michael Phillips el 25 de Feb. de 2019
Thanks Stephen! This is the link that really helped:
If you're running MATLAB on a Mac though you have to change
test = which('exiftool.exe');
to
test = '/usr/local/bin/exiftool'
or whatever path is appropriate for where you've downloaded the exiftool.
Thanks again!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Large Files and Big Data en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by