0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonでOpenImageIO(OIIO)と.ocioファイルを使ってACESな色空間を変換する

Last updated at Posted at 2025-04-09

自己紹介

株式会社digitalbigmoのパイプラインエンジニアの小池@plinecomです。

これは何?

OpenEXRでは色空間としてACESを使うことが多いんだけれど、ACESにもイロイロ種類があるので相互変換できるようにしたいと思った。

とりあえず、コード

main.py
import OpenImageIO as oiio
import glob
import os

if __name__ == '__main__':

    for path in glob.glob('C:/EXR/ACES2065_1/*.exr'):

        output_folder = os.path.join(os.path.dirname(path) , 'ACEScg')
        os.makedirs(output_folder, exist_ok=True)
        output_path = os.path.join(output_folder, os.path.basename(path))

        print(output_path)

        #Read File
        buf = oiio.ImageBuf(path)

        #Convert ColorSpace
        dst = oiio.ImageBufAlgo.colorconvert( buf, "ACES2065-1", "ACEScg",
                                      colorconfig='studio-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio')

        #Write File
        dst.write(output_path)

必要なPython外部モジュール

  • OpenImageIO

コードの説明

色空間の変換方法の指示

        dst = oiio.ImageBufAlgo.colorconvert( buf, "ACES2065-1", "ACEScg",
                                      colorconfig='studio-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio')

OCIOで配布されているの.ocioファイルを読み込ませて、変更元のカラースペースACES2065-1と変更後のカラースペスACEScgを指定して変換している。

.ocioファイルが沢山有ってよく分からないよぅ

私もよく分からない。なんとなく調べた感じによると、、

  • studio版とCG版というのがあって、studio版の方が精密らしい。
  • バージョンっぽいものが3つもある。前から順に
    • .ocioファイルのバージョン
    • 対応するACESのバージョン
    • 対応するOpenColorIOプログラムのバージョン

宣伝

株式会社digitalbigmoでは美肌プラグインの販売や映像VFXの制作業務を行なっています。ご興味のある方は、webページを見にきてください。一緒にお仕事しましょう。

参考文献

OpenImageIO本家(英語)
OpenImageIO本家リファレンス(英語)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?