访问图像的Windows'标签'元数据字段

时间:2014-09-30 16:38:57

标签: windows image matlab image-processing

我想尝试一些图像处理。所以现在我想要的是读取图像exif数据。那么有2个内置函数可用于读取图像的exif数据。 问题是我想阅读图片标签。exifreadimfinfo这两个功能都没有显示图片标签。

有没有办法阅读图片标签?就像这张照片中突出显示的标签一样 Like the tags are highlighted in this picture

1 个答案:

答案 0 :(得分:1)

步骤:

  1. 下载exiftool。我在google搜索后发现了一个,我不想在这里提供外部链接,但我可以说这是网站上的指针 - " Phil Harvey的ExifTool"。从那里获取zip设置文件,从中提取exe并将其放在MATLAB的当前工作目录中。

  2. 下载getexif.m frrom MATLAB FEX并将其保存在当前版本中 工作目录。

  3. 现在,您可以运行此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'