2

RGB フレーム (ARGB などのピクセル形式) を YUV (YUV420 など) に変換できるサンプル GLSL フラグメント シェーダー コードを探しています。

サイズが 1920x1080 の RGB フレームを想像してください。フラグメント シェーダーを使用して YUV フレームに変換するのが好きです。

コンパイルして Ubuntu ボックスで実行できるコードを教えてください。

4

3 に答える 3

1

まず、質問の表現が不十分であることを知っておく必要があります。誰もあなたのサンプル コードを書くつもりはありません。RGB から YUV に変換するコードの検索エンジン (またはこのサイトを検索) を使用できます。

ここで探しているものと同様の回答を書きました。RGB から YIQ に変換し、色相をシフトして元に戻します。必要な場合は、YIQ の代わりに Y'CbCr マトリックスを色変換に使用できます。

ただし、4:2:0 にはダウンコンバートされません。ただし、それは簡単に実行できるはずです。Y'CbCr 形式になったら、必要に応じて適切なチャネルをダウンサンプリングできます。エイリアシング アーティファクトを避けるために、最初にこれらのチャンネルでローパス フィルターを実行することをお勧めします。

私は Linux を扱っていないので、Ubuntu ではテストしていません。幸運を。

于 2013-08-16T03:57:56.773 に答える
-1

このリンクには、計算シェーダー GLSL を使用した YUV 4:2:2 v210 から RGB への実装が含まれています。YUV 4:2:2 v210 --> RGB GLSL ソース コード

于 2015-04-13T10:00:40.167 に答える