I420toRGB#

バージョン名: I420toRGB-8

カテゴリー: 画像処理

簡単な説明: I420toRGB は、I420 から RGB 形式への画像変換を実行します。

詳細な説明:

I420 (YUV) から RGB 空間への各ピクセルの変換は、次の式で表されます (NV12toRGB と同じ):

R=1.164(Y16)+1.596(V128)G=1.164(Y16)0.813(V128)0.391(U128)B=1.164(Y16)+2.018(U128)

次に、RGB の値が範囲 (0, 255) にクリップされます。

入力:

入力 I420 イメージテンソルは NHWC ( NYXC としても知られる) レイアウトを持ち、次の 2 つの方法で表現できます:

  • シングルプレーン:

    • 1: T タイプのテンソル。必須。次元:

      • N - バッチ次元

      • H - 高さ次元は画像の高さの 1.5 倍です

      • W - 幅の次元は画像の幅と同じです

      • C - チャネルの次元は 1 (1 つの平面) に等しくなります

  • 3 つの別個の平面 - Y、U および V:

    • 1: Y 平面を表す T タイプのテンソル。必須。次元:

      • N - バッチ次元

      • H - 高さ次元は画像の高さと同じです

      • W - 幅の次元は画像の幅と同じです

      • C - チャネルの次元は 1 に等しくなります (Y チャネルのみ)

    • 2: U 平面を表す T タイプのテンソル。必須。次元:

      • N - バッチ次元。Y 平面のバッチ次元と同じである必要があります

      • H - 高さの次元は画像の高さの半分でなければなりません (例えば、image_height / 2)

      • W - 幅の次元は画像の幅の半分でなければなりません (例えば、image_width / 2)

      • C - チャネルの次元は 1 に等しいものとします (U チャネル)

    • 3: V 平面を表す T タイプのテンソル。必須。次元:

      • N - バッチ次元。Y 平面のバッチ次元と同じである必要があります

      • H - 高さの次元は画像の高さの半分でなければなりません (例えば、image_height / 2)

      • W - 幅の次元は画像の幅の半分でなければなりません (例えば、image_width / 2)

      • C - チャネルの次元は 1 に等しいものとします (V チャネル)

出力:

  • 1: RGB 形式に変換されたイメージを表す T タイプのテンソル。次元:

    • N - バッチ次元

    • H - 高さ次元は画像の高さと同じです

    • W - 幅の次元は画像の幅と同じです

    • C - チャネルの次元は 3 に等しくなります。最初のチャネルは赤、2 番目のチャネルは緑、最後のチャネルは青です

タイプ:

  • T: uint8 またはサポートされている浮動小数点タイプ。

例:

例 1

<layer ... type="I420toRGB"> 
    <input> 
        <port id="0"> 
            <dim>1</dim> 
            <dim>720</dim> 
            <dim>640</dim> 
            <dim>1</dim> 
        </port> 
    </input> 
    <output> 
        <port id="1"> 
            <dim>1</dim> 
            <dim>480</dim> 
            <dim>640</dim> 
            <dim>3</dim> 
        </port> 
    </output> 
</layer>

例 2

<layer ... type="I420toRGB"> 
    <input> 
        <port id="0">
            <!-- Y 平面 --> 
            <dim>1</dim> 
            <dim>480</dim> 
            <dim>640</dim> 
            <dim>1</dim> 
        </port> 
        <port id="1">
            <!-- U 平面 --> 
            <dim>1</dim> 
            <dim>240</dim> 
            <dim>320</dim> 
            <dim>1</dim> 
        </port> 
        <port id="2">
            <!-- V 平面 --> 
            <dim>1</dim> 
            <dim>240</dim>
            <dim>320</dim> 
            <dim>1</dim> 
        </port> 
    </input> 
    <output> 
        <port id="1"> 
            <dim>1</dim> 
            <dim>480</dim> 
            <dim>640</dim> 
            <dim>3</dim> 
        </port> 
    </output> 
</layer>