可以自动或许照片的拍摄日期吗
时间: 2024-02-19 11:03:07 浏览: 12
可以,可以使用 ExifRead 库来读取照片的 Exif 信息,获取照片的拍摄日期。
以下是使用 Python 实现自动获取照片拍摄日期并添加到边框上的示例代码:
```python
import cv2
import datetime
import exifread
# 读取图像
image = cv2.imread("image.jpg")
# 定义边框大小和颜色
borderSize = 20
borderColor = (255, 255, 255)
# 给图像增加边框
image = cv2.copyMakeBorder(image, borderSize, borderSize, borderSize, borderSize, cv2.BORDER_CONSTANT, value=borderColor)
# 打开照片文件并读取 Exif 信息
with open("image.jpg", "rb") as f:
tags = exifread.process_file(f)
# 获取拍摄日期
try:
dateTag = tags["EXIF DateTimeOriginal"]
dateString = str(dateTag).replace(":", "-").replace(" ", "_")
except:
dateString = "Unknown"
# 在边框左下角打印日期
cv2.putText(image, dateString, (borderSize, image.shape[0] - borderSize), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 0), 1)
# 显示图像
cv2.imshow("Image", image)
# 等待按键
cv2.waitKey(0)
```
其中,使用 `exifread.process_file` 函数读取照片的 Exif 信息,获取拍摄日期。如果照片中没有拍摄日期信息,则将日期字符串设为 "Unknown"。需要注意的是,不同相机拍摄的照片可能会有不同的 Exif 信息,需要根据实际情况进行调整。