python 怎么修改图片的Exif数据
时间: 2024-02-22 19:57:35 浏览: 186
你可以使用Python的Pillow库来修改图片的Exif数据。以下是一个简单的代码示例:
``` python
from PIL import Image
# 打开图片
img = Image.open('example.jpg')
# 获取图片的Exif数据
exif_data = img.getexif()
# 修改Exif数据
exif_data[0x010F] = 'New Camera Model'
exif_data[0x0110] = 'New DateTime'
# 保存修改后的图片
img.save('example.jpg', exif=exif_data)
```
在上面的示例中,我们首先打开了一张图片并获取了其Exif数据。然后我们修改了Exif数据中的相机型号和拍摄时间,并将修改后的Exif数据保存回了原始图片文件中。
相关问题
python 向没有exif数据的图片 添加Exif数据
向没有 Exif 数据的图片添加 Exif 数据可以使用 Python 的 Pillow 库。具体的操作步骤如下:
1. 导入 Pillow 库和 ExifTags 模块:
```
from PIL import Image
from PIL.ExifTags import TAGS
from PIL import JpegImagePlugin
```
2. 打开图片并创建 Exif 数据:
```
img = Image.open("example.jpg")
exif_dict = {"DateTimeOriginal": "2022:01:01 00:00:00", "Make": "Canon", "Model": "Canon EOS R5"}
exif_bytes = JpegImagePlugin.get_exif_bytes(exif_dict)
```
3. 将 Exif 数据写入图片:
```
img.save("example_with_exif.jpg", exif=exif_bytes)
```
注意:如果图片已经存在 Exif 数据,使用此方法会覆盖原有的 Exif 数据。
python 读图片exif
在Python中,你可以使用`Pillow`库(也称为`PIL`,全称是Python Imaging Library)来读取图像文件的EXIF信息。EXIF是Exchangeable Image File Format的缩写,包含了数码相机拍摄照片时的一些元数据,如时间、地点、镜头信息等。
以下是使用Pillow库读取图片EXIF的基本步骤:
1. 首先,你需要安装Pillow库,如果你还没有安装,可以使用pip命令安装:
```bash
pip install pillow
```
2. 然后,你可以通过以下代码打开一个图片文件并获取其EXIF数据:
```python
from PIL import ImageExif
# 打开图片文件
img = Image.open('image.jpg')
# 创建一个ImageExif实例
exif_data = img._getexif()
# 检查是否有EXIF数据存在
if exif_data is not None:
print("图片EXIF信息:")
for tag_id, value in exif_data.items():
if tag_id == 36867: # 拍摄时间
timestamp = str(value)
elif tag_id == 36868: # 拍摄日期
date_time = str(value)
# ...处理其他标签
print(f"{tag_id}: {value}")
else:
print("图片未包含EXIF信息.")
```
这将打印出图片的特定EXIF属性,如拍摄时间、日期等。请注意,不是所有图片都有EXIF数据,如果图片缺失这些信息,则会显示为空。
阅读全文