gpt4 book ai didi

python - 如何将自定义元数据添加到 OpenCV/numpy 图像?

转载 作者:太空狗 更新时间:2023-10-29 21:55:38 25 4
gpt4 key购买 nike

我有一个问题。

我正在对 OpenCV 中的一些捕获图像执行一系列操作(调整大小、复制等),但我想为这些图像设置一些特定的元数据(属性名称也应由我定义),这将在这些操作中幸存下来,可以在以后提取。我没有设置分辨率值或在这些操作后更改的任何其他值。我怎样才能做到这一点?我听说过 pyexiv2,但我从未见过任何涉及 OpenCV 的示例。

提前致谢!

最佳答案

因此,最终,您可以将 2 个文件内容(数据和元数据)隐藏在您自己的 python 类后面:

import cv 
import pyexiv2

class MyImage():

_filename = None
_data = None
_metadata = None

def __init__(self,fname):

_filename = fname
_data = cv.LoadImage(_filename)
_metadata = pyexiv2.ImageMetadata(_filename)
_metadata.read()

def addMeta(self,key,value):
_metadata[key] = pyexiv2.ExifTag(key, value)

def delMeta(self,delkey):
newdict = {key: value for key, value in some_dict.items()
if value is not delkey}

def resize(self,newx,newy):
tmpimage = cv.CreateMat(newy, newx, cv.CV_8UC3)
cv.Resize(_data,tmpimage)
_data = tmpimage
try: # Set metadata tags to new size if exist!
_metadata['Exif.Image.XResolution'] = newx
_metadata['Exif.Image.YResolution'] = newy
except:
pass

def save(self):
cv.SaveImage(_filename,_data)
_metadata.write()

关于python - 如何将自定义元数据添加到 OpenCV/numpy 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9808451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com