Houdini 17.5 リファレンス スタンドアローンのユーティリティ

icomposite

画像をレイヤーでコンポジットします。

On this page

概要

icomposite [-v] [-w width] [-h height] [-d divs div] [-f] [-F filter] [-B] [-L <lut>] [-O <lut>] [-c] [command]

画像をレイヤーでコンポジット、単純な画像処理、画像サイズの変更をします。画像を拡大縮小するときに任意のフィルターを指定することができます。

オプション

-v

実行した現在の走査線と現在のコンポジットのサブ処理の状況を詳細に出力します。

-w width

出力する水平解像度をwidthで設定します。

-h height

出力する垂直解像度をheightで設定します。通常はフレームすべてを一番大きい入力画像の解像度に合うようにXとY方向にスケールします。幅または高さのどちらかを指定すれば、垂直の解像度が一番大きい入力画像の縦横比を保持しつつ、入力と出力のフレームを特定の値でスケールします。

-f

入力画像を指定した出力解像度でフィルタリング(ボックスフィルターを使用)します。通常は入力画像をサンプリングします。フィルタリングはサンプリングよりも時間がかかりますが、画像のスケーリングでは良好な結果が得られます。

-c

通常では画像ファイルを開いたり読み込んでいるときにエラーが起きると、icompositeは現在のコンポジット操作を終了します。-cオプションを指定すると、エラーが起きてもコンポジット操作が続きます。エラーが起きると、そのフレームは空白の画像に置き換えて読み込まれます。これはコンポジットの結果が正しくない場合があることに注意してください。

-B

上位互換(Houdini2.5またはそれ以前のバージョン)の画像スケール。特別なフィルターサポートがありません。

-F

画像の読み込みで使うフィルタータイプを指定します("icomposite -"をタイプすれば利用可能なフィルターがリスト表示されます)。

command

インタラクティブモードでicompositeに指定可能な1行は、ここでも指定することが可能です。

コンポジットオペレータ

単項オペレータは、次のような構文で指定します:

claw.pic over back.pic

0.7定数で、正の実数です。定数画像で使われている数値以外の定数は1を越えることはできません。

定数画像とは単色カラーの画像のことです。これはコンポジットエレメント(通常は背景エレメントとして使用)として使う場合があります。定数画像の指定方法は、大括弧を使って赤、緑、青、さらに任意でアルファ値を指定してから括弧を閉じます:

[1 0.7 0.5] [0.8 0.5 0.4 0.8]

2番目はアルファ値を含めた例です。最初の例では、アルファ値を設定していないで、デフォルトの1が設定されます。定数は0から1までの実数です。

dissolve value image

対象の画像をdissolveオペレータと定数を使ってディゾルブします。これはRGBとアルファチャンネルをすべて指定した値で乗算します。

darken value image

対象の画像をdarkenオペレータと定数を使って暗くします。これはRGBチャンネルのみを指定した値で乗算します。アルファチャンネルはdarkenオペレータでは変更されません。

opaque value image

対象の画像のアルファチャンネルのみをopaqueオペレータと定数を使って乗算します。これは背景エレメントを隠さないでカラー情報を加算する発光エレメントを作成することができます。

mono value image

対象の画像を指定した値でモノクロにします。1は完全に白黒になり、0は色を変更しません。中間値は部分的にモノクロ画像になります。

gamma value image

対象の画像の各RGBチャンネルにガンマ補正を適用します。1より大きい値は画像がより明るくなり、反対に小さい値は暗くなります。

channel chans image

指定したchan文字列の4つの文字の組み合わせと順番に基づいて、対象の画像のチャンネルをコピー、入れ替え、置換をします。

1番目の文字は出力するRチャンネルで置換するもの、2番目の文字はGチャンネルで置き換えるものなどです。

文字rは入力のRチャンネル、zはzero(透明)を含むチャンネル、oはopaque(不透明)を含むチャンネルを意味します。

例えば、bbbaはRとGチャンネルにBチャンネルをコピーします。一方Bチャンネルとアルファチャンネルはそのままです。rgbaは、その画像のままです。aaazはRGBチャンネルにアルファチャンネルをコピーし、アルファチャンネルにはzeroをコピーします。

alpha value image

対象の画像のRGBチャンネルにアルファチャンネルを乗算します。

setup value image

対象の画像でアルファチャンネルが0より大きい箇所でピクセル単位で指定した値以上になるように底上げします。アルファチャンネルが0の箇所では何もしません。setupオペレータは画像のもっとも低い輝度レベル(アルファに基づいて)を底上げして、0のレベルはそのままにします。例:

icomposite abekas:34.rgb = setup .075 claw.pic

0以外のアルファ値は、最低でも.075の輝度に上げられます。.075の輝度を越えるカラーはそのままになります。

even image

対象の画像の偶数番目の走査線のみを維持します。(要は奇数番目の走査線はすべてブラックに消去します)。NTSCフレームでは底辺の走査線を奇数としているので、このオペレータは画像ファイルの最初の走査線を奇数とみなします。

odd image

対象の画像の奇数番目の走査線のみを維持します。(要は偶数番目の走査線はすべてブラックに消去します)。NTSCフレームでは底辺の走査線を奇数としているので、このオペレータは画像ファイルの最初の走査線を奇数をみなします。

image cross image

crossオペレータは、唯一の二項オペレータで、定数のオペレータ値を必要とします。このオペレータは2つのエレメントを交差してディゾルブします。"A cross 0.4 B"は0.6のAと0.4のBでディゾルブします。これは効率的な便利な独立したオペレータとして提供されています。

image over image

overオペレータは非常に使用頻度の高いコンポジットオペレータです。これは右の画像の上に左の画像を配置します。前景エレメントはどこにでも表示され、背景エレメントは前景エレメントで隠されていない箇所のみ表示されます。

image plus image

plusオペレータは左の画像と右の画像の各チャンネルを単純に加算します。その合計は最大チャンネル値で制限されます。

image minus image

minusオペレータは左の画像から右の画像の各チャンネルを単純に減算します。その結果は最小チャンネル値の0で制限されます。

image diff image

diffオペレータは左と右の画像の差分の絶対値を返します。

image multiply image

multiplyオペレータは左と右の画像の各チャンネルを単純に乗算します。チャンネルの値は0から1の間を固定小数点として処理します。

image inside image

insideオペレータは右の画像の範囲内で左の画像を配置し、右の画像は消えます。

image outside image

outsideオペレータは右の画像の範囲外で左の画像を配置し、右の画像は消えます。

image atop image

atopオペレータは右の画像の範囲内で上に左の画像を配置し、右の画像はそのまま存在します。

image xor image

xor(排他的論理和)オペレータは、AとBの和演算でAとBの重複部分を除きます。要するに、2つのエレメントで重複しない部分が残ります。

文法

icompositeには正規な文法があります。許可されている構文は次の通りです。単項オペレータのdissolve、darken、opaque、mono、gamma、alpha、even 、oddの優先度は同じで、二項オペレータよりも優先度が高いです。二項オペレータの優先度は組み合わせ順で決まります(つまり、a over b over cは(a over b) over cと同じことです)。

Composite: FILENAME = Expression
Expression: FILENAME
            | Constant_Frame
            | dissolve Constant Expression
            | darken Constant Expression
            | opaque Constant Expression
            | mono Constant Expression
            | gamma Constant Expression
            | channel Channels Expression
            | alpha Expression
            | even Expression
            | odd Expression
            | Expression cross Constant Expression
            | Expression plus Expression
            | Expression minus Expression
            | Expression diff Expression
            | Expression multiply Expression
            | Expression over Expression
            | Expression atop Expression
            | Expression outside Expression
            | Expression inside Expression
            | Expression xor Expression
            | (Expression)

Constant_Frame: [Constant Constant Constant Constant]
                | [Constant Constant Constant]

icompositeは"Compositing Digital Images" (Computer Graphics, Volume 18, Number 3, Thomas Porter and Tom Duff, July 1984)の紙面で書かれた通りにコンポジット処理をします。コンポジット処理で使用するエレメントすべて(後述のalphaオペレータを除く)は、RGBチャンネルがそれに対応するアルファチャンネルで事前に乗算されているとみなします。これはほとんどのレンダラーでも同様です。つまり、事前に乗算したRGBチャンネルを使っていないフレームは、背景エレメントは別にして、直接コンポジット処理で使うことができないことを意味します。

alphaオペレータは事前に乗算していない画像を必要となる事前に乗算したフォーマットに変換します。よって、事前に乗算したカラーチャンネルを使っていないフレームは、最初にalphaオペレータを適用する必要があります(後述のサンプルを参照)。

サンプル

icomposite ip = mono .5 $HH/pic/Mandril.pic

icompositeはコマンドラインから1つのコマンドを取得したり、標準入力から画像コンポジットの文を読み込み、そして要求したコンポジット画像を取得するために処理を実行します。

インタラクティブにコマンドを読み込むと、入力の各行が1つのコンポジット処理または文になります。頭文字が$で始まる環境変数は最初に展開されます。

以下のサンプルは、コンポジットの文で、入力をicompositeに設定します。いくつかのサンプルは非常に複雑です。(…)を使うと、icompositeに対して括弧の中の処理を最初に実行するように命令します。[...]を使うと、それが3つのRGBまたは4つのRGBAの数字を中に指定した定数カラーの画像を意味します:

cd $HFS/demo/ImageTools
ip = claw.pic over back.pic
junk.pic = claw.pic outside back.pic
ip = dissolve .5 claw.pic over ([0.3 0.1 0.1 0.25] atop back.pic)
ip = marble.pic multiply [.5.7 1] 
ip = back.pic minus [0.25 0 0] over [0.3 0.2 0.1]
fields.pic = even claw.pic plus odd back.pic over [.2.1.1]
ip = (darken 0.7 (object.pic inside shadow.matte) atop 
object.pic) over .bg.pic
ip = (marble.pic cross 0.7 air.pic) outside claw.pic over 
back.pic
ip = gamma 1.3 back.pic
icomposite -F gauss -w 640 -h 486 ip = $HH/pic/Mandril.pic
icomposite -F box -w 640 ip = $HH/pic/Mandril.pic

インタラクティブコンポジットモード

コマンドラインでコンポジットコマンドを指定していなければ、icompositeはインタラクティブモードになり、ユーザーが多くのコマンドを入力できるようになります。ターミナルからの入力では、icompositeはコンポジットの文を=>で促します。

⌃ Ctrl + Cを押せば、コンポジット処理がまだ進行していなければコマンドが終了し、進行中であれば処理が中断されます。インタラクティブモードでない場合は、中断の信号を送ってコマンドをいつでも終了させることができます。

ファイルが終わりに到達するまでは、各入力行を別々に中断していきます。

!の文字で始まる入力行はシェルコマンドとして解釈されて実行されます。

メモ

  • icompositeでは次のどれかの文字を含むファイル名をサポートしていません:

    [] () = ; !
    

    また、実際の数字に見えるようなファイル名(例えば、123)もサポートしていません。

  • エラーはおおざっぱに扱われるので、"Syntax error on line 1"のようなメッセージを取得します。

スタンドアローンのユーティリティ

  • abcconvert

    Alembicフォーマット間を変換します。

  • abcecho

    Alembicファイルに関する情報を出力します。

  • abcinfo

    Alembicファイルに関する情報を出力します。

  • chchan

    チャンネルコレクションをアクションチャンネルフォーマットへ(から)コピーします。

  • chcp

    チャンネルコレクションファイルを他のフォーマットにコピーします。

  • chinfo

    チャンネルコレクションファイルに関する情報を出力します。

  • claudio

    CHOPデータ(clip)をオーディオフォーマットへ(から)コピーします。

  • clchan

    CHOPデータ(clip)をアクションチャンネルフォーマットへ(から)コピーします。

  • clchn

    CHOPデータ(clip)をチャンネルコレクションフォーマットへ(から)コピーします。

  • clcp

    CHOPデータ(clip)を他のフォーマットにコピーします。

  • clinfo

    CHOPデータ(clip)ファイルに関する情報を出力します。

  • dsmconvert

    ディープシャドウ/カメラマップをあるフォーマットから別のフォーマットへ変換します。

  • dsmmerge

    2つ以上のディープシャドウ/カメラマップファイルを結合します。

  • dsparse

    ダイアログスクリプトを解析して表示します。

  • gabc

    AlembicとHoudiniのジオメトリ間を変換します。

  • gconvert

    Houdiniポリゴンフォーマット間を変換します。

  • gdxf

    DXFポリゴンをHoudiniフォーマットへ(から)変換します。

  • geps

    EPSファイルをHoudiniポリゴンフォーマットへ変換します。

  • giges

    IGESジオメトリファイルを変換します。トリムNURBSパッチとカーブを扱います。

  • ginfo

    ポリゴンファイルの統計情報を出力します。

  • glightwave

    LightWaveファイルをHoudiniフォーマットへ(から)変換します。

  • gplay

    ジオメトリビューア。

  • gptex

    ジオメトリファイルからPtexture画像ファイルを作成します。

  • greduce

    ファイルのポリゴンを削減します。

  • gwavefront

    .objファイルをHoudiniフォーマットへ(から)変換します。

  • hbrickmap

    i3dファイルまたはボリュームプリミティブgeo/bgeoファイルをPixar Brickmapファイルに変換します。

  • hcollapse

    ディレクトリ構造を折り畳みます。

  • hcpio

    CPIOアーカイブコマンドのサブセットコマンドでhipファイルの抽出/折り畳みができます。

  • hexpand

    hipファイルをディレクトリ構造に展開します。

  • hrender

  • hsc

    Bloscファイル(.sc)の圧縮または解凍をします。

  • hscript

    コマンドラインのHScriptインタプリタ。

  • i3dconvert

    3DテクスチャファイルフォーマットをHoudiniジオメトリへ(から)変換します。

  • iautocrop

    ピクセル値に基づいて画像をクロップします。

  • icineon

    10ビットCineonフォーマット画像を8ビットフォーマットへ変換します。

  • icomposite

    画像をレイヤーでコンポジットします。

  • iconvert

    画像フォーマットを変換します。

  • icp

    画像のある領域を新しい画像に分離します。

  • iflip

    画像の向きを反転します。

  • iinfo

    画像に関する情報を出力します。

  • ilut

    標準チャンネルフォーマットまたは他のLUTからLookup Table(.lut)を生成します。

  • ilutcomp

    2つのLUTから1つのLookup Table(.lut)を生成します。

  • ilutinfo

    Lookup Table(LUT)ファイルの情報をプリントします。

  • imdisplay

    画像をMPlayウィンドウで開きます。

  • iprint

    画像のRGBA値をテキストとして出力します。

  • iquantize

    画像の色数を減らします。

  • isixpack

    立方体の6面を意味する6枚の画像または十字展開した画像から環境/反射マップを生成します。

  • itilestitch

    クロップウィンドウを含んだ一連の画像ファイルを一枚の画像にまとめます。

  • izg

    Z深度画像を8ビットのグレースケールに変換します。

  • mcacclaim

    AcclaimモーションファイルをHoudiniのスクリプトとチャンネルファイルに変換します。

  • mcbiovision

    BioVisionモーションファイルをHoudiniのスクリプトとチャンネルファイルに変換します。

  • mcmotanal

    Motion Analysis TRCモーションファイルをHoudiniのスクリプトとチャンネルファイルに変換します。

  • mcp

    画像シーケンスを動画ファイルに変換します。

  • minfo

    動画ファイルに関する情報を出力します。

  • siminfo

    シミュレーションキャッシュファイルの統計をプリントします。

  • spy

    UNIXファイルシステムを操作するシェルユーティリティ。

  • vexcache

    VEXコンパイルキャッシュを照会または編集します。

  • vexexec

    CVEXシェーダを実行します。