你必須imwrite
做到這一點(非常)有限的能力:以JPEG它只接受BitDepth
,Comment
,Mode
和Quality
。並且Mode
和Quality
不會從iminfo
返回。 在imwrite
,你可以這樣做:
iminfo = imfinfo('Base_Pic.jpg')
imwrite(...,'BitDepth',iminfo.BitDepth, 'Comment',iminfo.Comment);
除此之外,沒有一種方式,據我所知有圖像處理工具箱/ Matlab來做到這一點。如果你有TIFF或醫學圖像,有一些工具箱可以做到這一點,但我還沒有找到任何jpeg,即使在文件交換中也是如此...
如果你的系統上有exiftool
,你可以使用
[status info]=system('exiftool -s Base_Pic.jpg');
info
現在包含標記名稱和標記值,如列表:
ExifToolVersion : 8.75
FileName : Base_Pic.jpg
Directory : Pictures
FileSize : 2.0 MB
FileModifyDate : 2011:10:27 08:41:55+10:00
FilePermissions : rw-rw-r--
FileType : JPEG
MIMEType : image/jpeg
JFIFVersion : 1.01
ExifByteOrder : Big-endian (Motorola, MM)
Make : Apple
Model : iPhone 4
...
如果你劈在結腸:
您可以使用exiftool -[TAG]=[VALUE]
,例如,將其寫回exiftool -Make=Apple -Model="iPhone 4" ...
。
或者你可以在一個犯規命中複製他們「所有」:
system('exiftool -overwrite_original -tagsFromFile Base_Pic.jpg Updated_Image.jpg')