我已将卫星图像镶嵌到jp2000图像中,标题格式为mm_yys_ps.jp2(例如01_17s_ps.jp2是2017年1月的)。我使用已知日期手动创建了标题,但是我需要创建该标题的时间序列,因此我需要将日期添加到 jp2000 图像的元数据中。我在网上找到了一些Python代码,但它对我不起作用。有谁知道如何向 jp2000 图像的元数据添加时间/日期?
from PIL import Image
from PIL.ExifTags import TAGS
import piexif
from datetime import datetime
im = Image.open("01_17s_ps.jp2")
exif_dict = piexif.load(im.info["exif"])
exif["0th"][piexif.ImageIFD.DateTime]=datetime.strptime("01_2017","%m_%Y").strftime("%m-%Y")
exif_bytes = piexif.dump(exif)
im.save(name, "jp2000", exif=exif_bytes, quality="keep", optimize=True)
附注这是我找到的代码。
我会用
exiftool
来做到这一点,将日期设置为 2021 年圣诞节 13:00
# pip install pyexiftool
import exiftool
# If "exiftool" is not on your PATH, add the full path inside parentheses on next line
with exiftool.ExifTool() as et:
et.execute(b"-datetimeoriginal=2021:12:25 13:00:00", b"image.jp2")
设置完成后,您可以通过以下方式检查:
exiftool image.jp2
结果
ExifTool Version Number : 12.30
File Name : image.jp2
Directory : .
File Size : 131 KiB
File Modification Date/Time : 2021:12:30 09:10:04+00:00
File Access Date/Time : 2021:12:30 09:10:06+00:00
File Inode Change Date/Time : 2021:12:30 09:10:04+00:00
File Permissions : -rw-r--r--
File Type : JP2
File Type Extension : jp2
MIME Type : image/jp2
Major Brand : JPEG 2000 Image (.JP2)
Minor Version : 0.0.0
Compatible Brands : jp2 , jpxb, jpx
Image Height : 480
Image Width : 640
Number Of Components : 3
Bits Per Component : 8 Bits, Unsigned
Compression : JPEG 2000
Color Spec Method : Enumerated
Color Spec Precedence : 0
Color Spec Approximation : Reasonable Quality
Capture Y Resolution : 2834
Capture X Resolution : 2834
Capture Y Resolution Unit : m
Capture X Resolution Unit : m
Exif Byte Order : Big-endian (Motorola, MM)
X Resolution : 72
Y Resolution : 72
Resolution Unit : inches
Y Cb Cr Positioning : Centered
Exif Version : 0232
Date/Time Original : 2021:12:25 13:00:00
Components Configuration : Y, Cb, Cr, -
Flashpix Version : 0100
Color Space : Uncalibrated
Image Size : 640x480
Megapixels : 0.307
或者更简洁地说:
exiftool -DateTimeOriginal image.jp2
Date/Time Original : 2021:12:25 13:00:00