我想尝试一些图像处理。所以现在我想要的是读取图像exif数据。那么有2个内置函数可用于读取图像的exif数据。
问题是我想阅读图片标签。exifread
和imfinfo
这两个功能都没有显示图片标签。
有没有办法阅读图片标签?就像这张照片中突出显示的标签一样
答案 0 :(得分:1)
下载exiftool。我在google搜索后发现了一个,我不想在这里提供外部链接,但我可以说这是网站上的指针 - " Phil Harvey的ExifTool"。从那里获取zip设置文件,从中提取exe并将其放在MATLAB的当前工作目录中。
下载getexif.m frrom MATLAB FEX并将其保存在当前版本中 工作目录。
现在,您可以运行此MATLAB代码并获取标记信息 -
%//Get image exif info as a char array
exif_data = getexif(path_to_image_file)
%// Split the char array into cells, where each cell holds both the field
%// and its value
exif_data_c = strsplit(exif_data,'\n')
%// Split each cell into its field and value
iminfo_fv_splt = strtrim(cellfun(@(x) strsplit(x,':'),exif_data_c,'uni',0))
%// Look for the field "Subject" and store it as this field appears to store tag info
subj = iminfo_fv_splt(cellfun(@(x,n) strcmp(x(1),'Subject'),iminfo_fv_splt))
%// Select the second cell that corresponds to the value of the field
tag_found = subj{1}(2)
输出 -
tag_found =
'New Zealand, Trey, lake tekapo, ratcliff, stuckincustoms, stuckincustoms.com, trey ratcliff'