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

时间:2019-04-10 03:00:36

标签: python openexr openimageio

我刚刚开始使用OpenImageIO编写东西。在我的实验中,我试图从一个exr文件中提取一些精选子图像,然后将它们写入另一个。但是,当我尝试使用文档中的以下示例时,却不断出错。

#!/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 个答案:

答案 0 :(得分:0)

您知道您正在使用哪个版本吗?

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