OpenImageIO

使用格式无关的应用程序接口,读取、写入和处理各种文件格式的图像,主要针对视觉特效应用。「Reading, writing, and processing images in a wide variety of file formats, using a format-agnostic API, aimed at VFX applications.」

Github星跟蹤圖

License
CI
CII Best Practices
latest packaged version(s)

Introduction

Mission statement: OpenImageIO is a toolset for reading, writing, and
manipulating image files of any image file format relevant to VFX / animation
via a format-agnostic API with a feature set, scalability, and robustness
needed for feature film production.

The primary target audience for OIIO is VFX studios and developers of
tools such as renderers, compositors, viewers, and other image-related
software you'd find in a production pipeline.

OpenImageIO consists of:

  • Simple but powerful ImageInput and ImageOutput APIs that provide
    an abstraction for reading and writing image files of nearly any
    format, without the calling application needing to know any of the
    details of these file formats, and indeed without the calling
    application needing to be aware of which formats are available.

  • A library that manages subclasses of ImageInput and ImageOutput that
    implement I/O from specific file formats, with each file format's
    implementation stored as a plug-in. Therefore, an application using
    OpenImageIO's APIs can read and write any image file for which a
    plugin can be found at runtime.

  • Plugins implementing I/O for several popular image file formats,
    including TIFF, JPEG/JFIF, OpenEXR, PNG, HDR/RGBE, ICO, BMP, Targa,
    JPEG-2000, RMan Zfile, FITS, DDS, Softimage PIC, PNM, DPX, Cineon,
    IFF, OpenVDB, Ptex, Photoshop PSD, Wavefront RLA, SGI, WebP,
    GIF, DICOM, HEIF/HEIC/AVIF, many "RAW" digital camera formats, and a variety
    of movie formats (readable as individual frames). More are being developed
    all the time.

  • Several command line image tools based on these classes, including
    oiiotool (command-line format conversion and image processing), iinfo
    (print detailed info about images), iconvert (convert among formats,
    data types, or modify metadata), idiff (compare images), igrep (search
    images for matching metadata), and iv (an image viewer). Because these
    tools are based on ImageInput/ImageOutput, they work with any image
    formats for which ImageIO plugins are available.

  • An ImageCache class that transparently manages a cache so that it
    can access truly vast amounts of image data (tens of thousands of
    image files totaling multiple TB) very efficiently using only a tiny
    amount (tens of megabytes at most) of runtime memory.

  • A TextureSystem class that provides filtered MIP-map texture
    lookups, atop the nice caching behavior of ImageCache. This is used
    in commercial renderers and has been used on many large VFX and
    animated films.

  • ImageBuf and ImageBufAlgo functions -- a simple class for storing
    and manipulating whole images in memory, and a collection of the
    most useful computations you might want to do involving those images,
    including many image processing operations.

  • Python bindings for all of the major APIs.

🏢 Project administration and Licensing

OpenImageIO is (c) Copyright Contributors to the OpenImageIO project.

For original code, we use the Apache-2.0 license, and for
documentation, the Creative Commons Attribution 4.0 Unported
License
. In 2023 we asked
historical users to relicense from the original BSD-3-clause
license to Apache-2.0, and over 99.75% of lines of code have been relicensed
to Apache-2.0. A small amount of code incorporated into this repository from
other projects are covered by compatible third-party open source
licenses
.

The OpenImageIO project is part of the Academy Software
Foundation
, a part of the Linux Foundation formed in
collaboration with the Academy of Motion Picture Arts and Sciences. The
Technical Charter and Project
Governance
explain how the project is run, who makes
decisions, etc. Please be aware of our Code of Conduct.

💁 User Documentation

OpenImageIO Documentation on ReadTheDocs
is the best place to start if you are interested in how to use OpenImageIO,
its APIs, its component programs (once they are built). There is also a PDF
version
.

👷 Building and installing OpenImageIO

🚑 Contact & reporting problems

Simple "how do I...", "I'm having trouble", or "is this a bug" questions are
best asked on the oiio-dev developer mail
list
. That's where the most people will see
it and potentially be able to answer your question quickly (more so than a GH
"issue"). For quick questions, you could also try the ASWF
Slack
#openimageio channel.

Bugs, build problems, and discovered vulnerabilities that you are relatively
certain is a legit problem in the code, and for which you can give clear
instructions for how to reproduce
, should be reported as
issues
.

If confidentiality precludes a public question or issue, you may contact us
privately at info@openimageio.org, or for
security-related issues security@openimageio.org.

🔧 Contributing and developer documentation

OpenImageIO welcomes code contributions, and nearly 200 people
have done so over the years. We take code contributions via the usual GitHub
pull request (PR) mechanism.

  • CONTRIBUTING has detailed instructions about the
    development process.
  • RELEASING explains our policies and procedures for making
    releases. We have a major, possibly-compatibility-breaking, release annually
    in September/October, and minor bug fix and safe feature addition release at
    the beginning of every month.
  • Building the docs has instructions for
    building the documentation locally, which may be helpful if you are editing
    the documentation in nontrivial ways and want to preview the appearance.

☎️ Communications channels and additional resources

主要指標

概覽
名稱與所有者AcademySoftwareFoundation/OpenImageIO
主編程語言C++
編程語言CMake (語言數: 7)
平台
許可證Apache License 2.0
所有者活动
創建於2011-02-02 23:03:28
推送於2025-06-17 15:55:21
最后一次提交
發布數503
最新版本名稱v3.0.7.0 (發布於 2025-06-01 08:36:15)
第一版名稱spi-SpComp2-v9 (發布於 2009-04-07 01:21:06)
用户参与
星數2.1k
關注者數135
派生數632
提交數6.3k
已啟用問題?
問題數979
打開的問題數152
拉請求數3271
打開的拉請求數27
關閉的拉請求數452
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?