从python中的jpeg2000图像中提取元数据
Posted
技术标签:
【中文标题】从python中的jpeg2000图像中提取元数据【英文标题】:extracting metadata from jpeg2000 images in python 【发布时间】:2015-05-15 12:42:48 【问题描述】:我想更新一系列 jpeg2000 图像中的元数据。我想用python来做。我查看了 glymur 并能够提取 xml etree:
import glymur
from lxml import etree
jp2 = glymur.Jp2k(file)
metaroot = jp2.box[3].xml # 4th element in box contains the metadata I want
fitshdr = metaroot[0] # the metadata originated as a fits header
然后我可以获取标签和标签值:
for kw in fitshdr:
tag = kw.tag
val = fitshdr.findtext(tag)
# do something with tags and values
我的问题是:有没有更简单的方法?这似乎不必要地复杂。
【问题讨论】:
有人向我指出 sunpy 包有很好的功能——参见 sunpy.io.jp2.get_header 或者只是通过 sunpy.io.jp2.read(filepath) 读取文件,它返回 (data,header) 元组的列表。 【参考方案1】:正如@Jonathan 所说,您可以使用在太阳物理学家和天文学家中很流行的sunpy 模块:
from sunpy.io import jp2
path_to_jp2 = 'example.jp2'
header = jp2.read(path_to_jp2) # type:<class 'list'>
此函数记录在sunpy.io 下。你也可以看看它的source code。
【讨论】:
以上是关于从python中的jpeg2000图像中提取元数据的主要内容,如果未能解决你的问题,请参考以下文章