1

生の NV12 YUV プログレッシブ データがあり、各フレームを偶数フィールドと奇数フィールド (インターレース データ) の画像に分割する必要があります。

4

1 に答える 1

0

すべてのジョブを手動で実行する場合:

  1. .yuv ファイルから各フレームを抽出する

    ストリームの形式と解像度に応じて、1 フレームのサイズを計算します。その後、抽出を行うことができます。

  2. .yuv フレームを .yuv フィールドに分割

    各ラインのサイズを計算し、フレームを奇数/偶数ラインで分割します。形式が yuv420 の場合は、uv 行に注意してください。

  3. .yuv フィールドを .bmp 画像に変換

    フォーマットが yuv444 でない場合は、最初に yuv444 に変換します。次に、yuv から rgb への変換を行い、画像を .bmp 形式に保存します。

ffmpeg と ImageMagick の助けを借りて、2 つの手順で (より簡単に) 実行することもできます (フレームの解像度が 1920x1080 で、フィールドが 1920x540 であると仮定します)。

  1. YUV を画像に変換

    ffmpeg -s 1920x1080 -i input.yuv frame_%3d.bmp

    -pix_fmt.yuv ファイルのフォーマット (ピクセル レイアウト) を指定するために使用できます。

  2. 画像を奇数/偶数に分割

    convert frame_000.bmp -define sample:offset=25 -sample 100%x50% frame_000_top.bmp convert frame_000.bmp -define sample:offset=75 -sample 100%x50% frame_000_bot.bmp

    これら 2 つのコマンドは、 de-interlace a video frameの最後の部分にあります。

于 2016-12-02T05:34:26.027 に答える