尝试使用 python 和 openimageIO 提取子图像失败

Trying to extract a subimage using python and openimageIO fails

我刚开始使用 OpenImageIO 写东西。在我的实验中,我试图从 exr 文件中提取一些 select 子图像并将它们写入另一个文件。但是当我尝试文档中的以下示例时,我不断收到错误消息。

#!/usr/bin/env python

import OpenImageIO as oiio

filename = "a.exr"
final = "b.exr"

input = oiio.ImageInput.open (filename)
spec = input.spec ()
pixels = input.read_image ()
input.close ()

output = oiio.ImageOutput.create (final)
if output.supports("multiimage") :
    output.open(final, spec)
    output.write_image(pixels)
    output.close ()

当我尝试这样做时,出现以下错误:

ArgumentError: Python argument types in
    ImageOutput.open(ImageOutput, str, ImageSpec)
did not match C++ signature:
    open(PyOpenImageIO::ImageOutputWrap {lvalue}, std::string, boost::python::tuple {lvalue})
    open(PyOpenImageIO::ImageOutputWrap {lvalue}, std::string, OpenImageIO::v1_6::ImageSpec, OpenImageIO::v1_6::ImageOutput::OpenMode)

我想知道是否有人可以指出我在这里做错了什么?非常感谢任何帮助。

非常感谢

你知道你具体使用的是哪个版本吗?

有点 1.6 的味道。那是几年前的事了。当前支持的版本是 2.0。您是否可以使用现代版本?无论您 运行 遇到什么麻烦,都可能是一个早已解决的问题。