Text inside image file

11 Ansichten (letzte 30 Tage)
Valeriy
Valeriy am 19 Dez. 2019
Kommentiert: Valeriy am 26 Dez. 2019
Many formats of image files like jpg, png, tiff enable to read/write inside binary file information some comments, captions (so called IPTC data), EXIF data. They can accesible, for example, by XnView viewer, by Edit\Metadata\Edit IPTC data\ or by <Ctrl i> key combination.
It would be very useful and convenient to read/write such fields from Matlab to keep there some service information deals with image processing or parameters of image acquisiton.
Searching of Matlab answers and file exchange shows only possibility to read EXIF data or putting comments, annotation directly into image of such image file.
Is it possible and how is it possible to operate with such fields from Matlab?
Thank you

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 19 Dez. 2019
MATLAB only permits reading EXIF, and only for some image formats.
There is a File Exchange contribution for MS Windows that can invoke an external .exe to write EXIF information.
EXIF-like information can be written into TIFF files if you use the Tiff() class interface and set the appropriate tag fields. It is not all that convenient to do so, but it can be done.
Those are the only things that are available.
  5 Kommentare
Walter Roberson
Walter Roberson am 24 Dez. 2019
EXIF effectively doesn't work for any of the common image formats except for JPEG and TIFF, and the EXIF wikipedia page explains why it is less than ideal in practice (data pointers are only relative, so you have to rebuild the pointers every time you modify the size of anything; encrypted private tags are used by some manufacturers to lock you into their eco-system; cameras / instruments do not have full EXIF processing and so moving an adjusted image back to the device is often incompatible.)
Valeriy
Valeriy am 26 Dez. 2019
Dears Walter Robertson, Image Analyst,
At first, Merry Christmas!
Thanks for your help. As usually, reading Matlab Help is useful activity: after all I have found there answer on my question.
To write additional information into image file one can use:
imwrite(MatrVar,'FileName.jpg','Comment','This is my information'); % or
imwrite(MatrVar,'FileName.png','Comment','This is my information',...
'Author','Another information','Description','Additional information field'); % or
imwrite(MatrVar,'FileName.tif','Description','This is my information')
To read this information:
info = imfinfo('FileName.png'); % for example
MyFirstInformation = info.Comment;
AnotherInformation = info.Author; % etc.
Verification shows that it works.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 19 Dez. 2019

Kategorien

Mehr zu Data Import and Export finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by