OpenEXR (.exr)
予備知識
-
- 登録MIMEタイプ:image/x-exr
- OpenEXRラスタ画像形式.
- 劇場用映画制作においてデジタル画像操作に使用される.
- EXRはExtended Dynamic Rangeの頭字語である.
- バイナリファイル形式.
- 1画素あたり16ビットのIEEE半精度浮動小数点数の色チャンネルを保管する.
- オプションとして32ビットIEEE浮動小数点数の「Z」チャンネル深さバッファコンポーネント,面法線方向,または動きベクトルを保管することができる.
- TiledまたはMulti-Viewのスキャンラインモードを使って複数の画像が保管できる.
- アルファチャンネルをサポートする.
- 2003年にインダストリアルライト&マジックによって導入された.
- OpenEXRはAcademy Software Foundationのプロジェクトである.
Import
- Import["file.exr"]はOpenEXRファイルを単一のImageとしてインポートする.
- Import["file.exr",elem]はOpenEXRファイルから指定の要素をインポートする.
- インポート形式はImport["file","OpenEXR"]またはImport["file",{"OpenEXR",elem,…}]で指定できる.
- Export["file.exr",expr] は式 expr をOpenEXRにエキスポートする.
- 以下の式をサポートする:
-
image Image オブジェクト graphics ラスタライズされた Graphics または Graphics3D オブジェクト {expr1,expr2,…} ビューとも呼ばれるさまざまな画像のリスト <"name1"expr1,… > 名前のつけられた画像のリスト - 画像をエキスポートする際には,表示されている形式と同じラスタサイズの画像となる.
- 一般的な情報は,以下の関数ページを参照のこと.
-
Import, Export ファイルからインポートする,あるいはファイルへエキスポートする CloudImport, CloudExport クラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする ImportString, ExportString 文字列からインポートする,あるいは文字列へエキスポートする ImportByteArray, ExportByteArray バイト配列からインポートする,あるいはバイト配列へエキスポートする
Import要素
- 一般的なImport要素:
-
"Elements" ファイル中の有効な要素とオプションのリスト "Summary" ファイルの概要 "Rules" 使用可能なすべての要素の規則のリスト - データ表現要素:
-
"Image" Imageオブジェクトとして返された最初の画像 "Graphics" Graphicsオブジェクトとして返された最初の画像 "EmbeddedThumbnail" ファイルに保存されているサムネイル(存在する場合) "Thumbnail" 最初の画像のサムネイル - Importはデフォルトでは"Image"要素を使用する.
- OpenEXRはビューと呼ばれる画像を複数含んでいることがある.ビューは同一画像の複数の解像度さまざまな深度レベルを表していることが多い.
- 複数のビューを含むファイルの特性:
-
"ImageCount" ファイルに含まれる画像の数 "ImageNames" ファイルに含まれている画像の名前 "ImageMode" OpenEXR画像のモード "ImageSizeRoundingMode" タイリングされた画像のダウンサンプリングに使用される丸めモード - 可能な画像のモード:
-
"Scanline" 単一画像 "OneLevel" 単一レベル "Mipmap" ミップマップタイリング "Ripmap" リップマップタイリング "Deep" 複数の深さレベルを含む - 複数のビューを返す要素:
-
"Data" 数値の配列 "GraphicsList" データはGraphicsオブジェクトとして返される "ImageList" データはImageオブジェクトとして返される - 複数のビューを返す要素は,<name1view1,… >という形式の連想を返す.viewi の構造はレベルモードとファイルが深い画像を含んでいるかどうかに依存する.
- 各画像 viewi の結果の構造は画像モードによって決まり,以下のようになる:
-
"Scanline" res "OneLevel" <1res1 > "Mipmap" <1res11,2res22,… > "Ripmap" <1<1res11,2res21,… >,2<1res12,2res22,… >,… > "Deep" <1deep1,2deep2,… > - それぞれの resij は1次元目は i 分の一,2次元目は j 分の一にダウンサンプリングされる.
- 個々のチャンネルの表現要素:
-
"ChannelNames" 各ビューの色チャンネルの名前 "Channels" 各ビューで使用される色チャンネルの数 "ChannelData" 各ビューのチャンネルデータ "ChannelImageList" 各ビューのチャンネル画像のリスト - チャンネルは自動的に何らかの既知の色空間に組み合される("R","G","B"のチャンネルを組み合せてRGB画像にする等).
- 各ビューのメタデータ要素:
-
"BitDepth" ファイルの色チャンネルの符号化に使用されたビット数 "ColorSpace" ファイルで使用されている色符号化 "ImageSize" ラスタ次元 "LevelCount" ビューごとのレベル数 - ファイル全体のメタデータ要素:
-
"Attributes" OpenEXRファイルに保存されたすべての属性のリスト "Author" 作成者名 "Comments" ユーザコメント "Compression" ファイル内での画像の圧縮方法 "CopyrightNotice" 著作権情報の文字列 "DataWindow" データウィンドウの角の座標 "DateTime" ファイルの作成日時 "DisplayWindow" 表示ウィンドウの角の座標 "Summary" ファイルの概要 "SummarySlideView" すべてのビューの概要のスライド表示 "Version" OpenEXRファイルのバージョン - "Data","ImageList","ChannelImageList"等,部分的なデータのインポートのためのサブ要素が指定できる.OpenEXRファイルのモードによって部分的アクセスは以下のいずれかの形式で指定できる:
-
"Scanline" {elem,view,channel} "OneLevel" {elem,view,level,channel} "Mipmap" {elem,view,level,channel} "Ripmap" {elem,view,level,level,channel} "Deep" {elem,view,level,channel} - データ表現要素はデータウィンドウからインポートされる.
オプション
- Importオプション:
-
ImageSize Automatic 画像の全体の大きさ "ImageTopOrientation" Automatic ファイルに保存された画像の向き -
ImageSize Automatic 画像の全体の大きさ "ImageTopOrientation" Automatic ファイルに保存された画像の向き - Export オプション:
-
"Attributes" Automatic ファイルに関連付けられている属性 "ImageMode" Automatic OpenEXR画像のモード "ImageSizeRoundingMode" "Up" タイリングされた画像のダウンサンプリングに使用される丸めモード "EmbeddedThumbnail" None ファイルに埋め込まれるサムネイル
例題
すべて開くすべて閉じるスコープ (3)
Import要素 (31)
データ表現 (13)
データチャンネルをNumericArrayオブジェクトとしてインポートする:
データチャンネルをImageオブジェクトとしてインポートする:
画像データをNumericArrayオブジェクトとしてインポートする:
最初の画像をGraphicsオブジェクトとしてインポートする:
データをGraphicsオブジェクトとしてインポートする:
最初の画像をImageオブジェクトとしてインポートする:
データをImageオブジェクトとしてインポートする: