四款 Linux 下照片元数据(EXIF)编辑软件

  现在随着数码相机已经一统天下的局面,我们所有的相片都已经数字化了。而每张数字化的相片,除了我们肉眼看到的信息外,还有很多我们是不直接看到的信息,这些信息对于摄影爱好者来说都是宝贵的数据。这些信息包括照片的标题、描述、曝光时间、ISO值、焦距、版权、一些高级相机还能包括照片成形时的经纬度等等。

  这些信息我们一方面需要查看,一方面我们可能根据需求要修改。这些信息全部以 EXIF 的格式存在照片内,像 Flickr 和 Picasa 网站都可以读取这些信息来给图片提供更加直观的信息。

  下面的四款软件是读取和修改 Exif 的佼佼者:

  • Phatch 简单易用的跨平台的GUI图片批量处理器
  • Photini 容易上手的数码照片 Exif 编辑器
  • ExifTool 可以以命令行来修改 Exif 的软件
  • digiKam 查看和编辑元数据的工具
原文发布时间为:2013-06-03

本文来自云栖社区合作伙伴“Linux中国”
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
部分使用说明: 点击开始菜单-运行命令,在对话框输入: "jhead –命令参数 jpeg文件" 例如: “jhead -de D:\A.jpg” 删除D盘盘根目录下A.jpg文件的exif信息。 “jhead -de D:\*.jpg” 删除D盘根目录下所有jpg文件的exif信息。其中星号是通配符。 二、通用指令参数 -te 将其他jpeg文件的eixf导入目标jpeg。例如"jhead –te D:\B.jpg D:\A.jpg" -dc 删除jpeg信息中的备注。注意,jpeg文件有两个备注,一是和其他文件一样的备注,另一个是exif信息中的备注。jhead仅对exif信息有效。 -de 完全删除exif信息。 -du 删除非原始exif信息,例如Photoshop、Turbophoto之类编辑修改exif留下的信息。 -purejpg 删除所有jpeg文件非必须的信息。相当于-de、-dc和-du的集合,可以将文件减小数k。 -ce 修改文件的jpeg文件头部分备注(此备注并非exif信息)。该指令会打开文本编辑器,并在编辑器关闭时将备注信息存入文件。 -cs 导出备注。例如"jhead –cs D:\988.txt D:\A.jpg" -ci 导入备注。例如"jhead –ci D:\988.txt D:\A.jpg" -cl 直接输入备注。。例如"jhead –cl 我的备注 D:\A.jpg" 三、其他指令 时间日期 -ft 将jpeg文件的“修改时间”修改exif信息中记录的时间。 -n[] 该指令会将文件名修改exif信息中记录的“创建时间”;如果jpeg文件没有exif或者exif中的创建时间不可用,则将文件名修改为文件的“修改时间”。 默认的格式-顺序为MMDD-HHMMSS 格式-顺序参数如下: %d-日(01-31) %H-小时(00-23) %j-一年中的第几天(001-366) %m-月(01-12) %M-分钟(00-59) %S-秒(00-59) %U-一年中的第几周(00-53) %w-星期几(0-6,周日为0) %y-两位数纪年(00-99) %Y-四位数几年 %i-添加数字序号 例如: jhead -n%Y%m%d-%H%M%S d:\*.jpg 将所有jpg文件修改为YYYYMMDD-HHMMSS.jpg的格式。 -nf 与“-n”相同功能相同,不保留原文件名。 -a 修改不同扩展名的同名文件名,相机拍摄的avi短片exif信息存储在与其同名的thm文件中,可用此指令给avi文件更名。一般与“-n”指令共同使用。 -ta 修正时差,例如时差根据时区确定,例如+1:00或者-1:00 -da- 修正日期。日期格式是yyyy:mm:dd、yyyy:nn:dd+hh:mm或者 yyyy:mm:dd+hh:mm:ss。根据前后参数时间差调整exif的时间。 -ts 直接修改exif中的拍摄时间,日期-时间格式为yyyy:mm:dd-hh:mm:ss 缩略图 -dt 删除exif中的缩略图。这个缩略图一般为240x160像素,10k大小,用于数码相机、Windows XP查看照片,删除它不会影响工作。 -st 将exif中的缩略图复制为另一个jpeg文件 -rt 用另一个jpeg文件替换exif中的缩略图 -rgt[大小] 刷新exif缩略图,其中大小为缩略图的最大边长。 旋转 -autorot 根据exif中记录的水平方向信息转动jpeg照片。 -norot 清除exif中的水平方向信息。 四、使用技巧 1)用开始菜单的"运行"指令并不直观,可以通过运行cmd命令进入DOS命令提示符界面操作。在DOS界面进入操作照片文件夹(不懂DOS操作的朋友建议稍稍学习DOS指令,今后也会受用无穷),在文件夹中运行jhead命令,用“*.jpg”表示文件夹中所有的jpeg文件,可以进行批处理。 2)-te(复制exif信息)作用在于可以恢复被其他编辑软件删除的exif信息。编辑照片之前,先在照片文件夹中建立一个名为“backup”的备份文件夹,将原是照片复制到backup文件夹中,然后再编辑照片编辑软件可能会删除或修改exif编辑结束后进入DOS界面照片文件夹输入: jhead –te “backup\&i” *.jpg 照片exif信息就会从backup文件夹的原始文件中复制回来。其中“&i”表示与目标文件同名的文件,前面的“backup\”表示原始文件位置。 3)-purejpg指令可以删除所有exif信息,让照片减小若干k字节
### 回答1: Exif是Exchangeable Image File Format的缩写,用于在JPEG图像文件中存储元数据(metadata)信息。这些元数据包含了拍摄设备、拍摄时间、曝光参数、焦距、闪光灯、照片方向、GPS坐标等信息。 要读写JPEG图像的Exif元数据,我们可以使用图像处理库或框架,例如Pillow(Python Imaging Library)等。下面是一个简单的示例代码: 首先,我们需要安装Pillow库。打开终端(命令提示符)并执行以下命令: ``` pip install pillow ``` 接下来,在Python脚本中导入Pillow库: ```python from PIL import Image from PIL.ExifTags import TAGS ``` 然后,打开JPEG图像文件并获取Exif元数据: ```python image = Image.open("example.jpg") exif_data = image._getexif() ``` 获取的Exif元数据是一个字典类型(dict)。我们可以通过循环遍历它并打印出每个元数据的标签(tag)和值(value): ```python for tag_id, value in exif_data.items(): tag_name = TAGS.get(tag_id, tag_id) print(f"{tag_name}: {value}") ``` 同样地,我们也可以修改Exif元数据: ```python exif_data[TagID] = new_value ``` 修改后的Exif元数据需要重新保存到图像文件中: ```python image.save("example_with_modified_exif.jpg") ``` 以上就是使用Pillow库读写JPEG图像的Exif元数据的基本步骤。当然,根据具体需求,我们可以针对不同的Exif标签进行特定的操作,例如获取拍摄设备信息、修改拍摄时间等。 ### 回答2: JPG是一种常见的图像文件格式,其中包含了一些关于图像的元数据exif),这些元数据可以提供有关图像的各种信息,例如拍摄日期、拍摄设备、曝光时间等。下面是关于如何读写JPG图像的元数据的简单说明: 要读取JPG图像的元数据,可以使用一些图像处理库或软件来实现。其中一个常用的库是Python的Pillow库。使用Pillow库,可以轻松地读取图像的元数据。以下是读取JPG图像元数据的示例代码: ``` from PIL import Image # 打开图像 img = Image.open('image.jpg') # 获取元数据 exif_data = img._getexif() # 输出各个元数据的值 for tag, value in exif_data.items(): print(f'{tag}: {value}') ``` 要写入JPG图像的元数据,也可以使用Pillow库来实现。以下是写入JPG图像元数据的示例代码: ``` from PIL import Image # 打开图像 img = Image.open('image.jpg') # 获取元数据 exif_data = img.info['exif'] # 修改元数据 exif_data['Exif.Image.Software'] = 'My Image Processing Software' # 保存图像,并写入新的元数据 img.save('new_image.jpg', exif=exif_data) ``` 在上面的示例代码中,我们首先使用`Image.open()`函数来打开JPG图像。然后,我们可以使用`_getexif()`方法获取图像的所有exif元数据。我们还可以使用`img.info['exif']`获取图像的exif数据。接下来,我们可以根据需要修改相关的exif元数据。最后,我们可以使用`img.save()`方法将修改后的exif元数据保存到新的图像文件中。 总之,读写JPG图像的元数据需要使用一些图像处理库或软件,例如Python的Pillow库。通过这些库,我们可以轻松地读取和写入JPG图像的元数据。 ### 回答3: JPEG图像是一种广泛使用的图像格式,EXIF(Exchangeable Image File)是一种元数据格式,它提供了有关图像的详细信息。关于如何读写JPEG图像的EXIF元数据,可以通过以下步骤来完成: 1. 读取EXIF元数据:可以使用各种图像处理库或软件来读取JPEG图像的EXIF元数据。例如,Python中的Pillow库、Java中的ImageIO库以及Adobe Photoshop等软件都提供了读取EXIF元数据的功能。通过提供图像的路径或文件对象作为输入,这些库和软件可以将存储在JPEG图像中的EXIF元数据读取到内存中。 2. 解析EXIF标签:一旦EXIF元数据被读取到内存中,就可以通过解析EXIF标签来获取图像的各种信息。EXIF标签包含了图像的拍摄时间、相机型号、拍摄地点、曝光时间、ISO感光度等信息。不同的EXIF标签具有不同的标识符和数据类型,因此需要参考相关的EXIF标准来正确解析每个标签。 3. 修改EXIF元数据:如果需要修改JPEG图像的EXIF元数据,可以使用相同的图像处理库或软件来完成。通过提供待修改EXIF标签和对应的新值,可以将新的EXIF元数据写入到JPEG图像中。需要注意的是,修改EXIF元数据可能会导致图像的元数据与实际内容不一致,因此在修改前需谨慎考虑。 总之,读写JPEG图像的EXIF元数据可以通过使用图像处理库或软件来实现。读取EXIF元数据可以通过提供图像路径或文件对象作为输入来完成。解析EXIF标签可以获取图像的各种信息。修改EXIF元数据可以通过提供待修改EXIF标签和新值来实现,但需谨慎考虑可能导致的不一致情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值