2017-05-16 19 views
3

ターボJPEGを使用してJPEG画像をY'UV420pに変換したいと思います。私はこれがいくつかの2x2ブロックを使用していると思います。そこにはUとVの各コンポーネントに2倍の情報がありますが、これを行う例は見つかりませんでした。turbojpegのtjDecompressToYUV2データ形式

tjDecompressToYUV2からこれらの個々の共用体をどのように抽出するのですか?次元が2の累乗の倍数であるイメージのために割り当てられるバッファの形式は何ですか?

私は1024 x 512ピクセルの高さの画像があります。どのようにして、次のコードから各Y 'UとV値を抽出するのですか。

constexpr auto height = 512u; 
constexpr auto width = 1024u; 
unsigned char buffer[height * width * 3/2]; 
... 
tjDecompressToYUV2(jpegDecompressor, jpegImage, jpegSize, buffer, width, 2, height, TJFLAG_FASTDCT); 
... 

ie。どのようにコンポーネントはバッファから抽出されますか?

答えて

3

3つの異なる出力バッファに3つの色空間を与えるtjDecompressToYUV関数を試してみてください。 Yバッファには、Yコンポーネントの1バイト(8ビット値)を含める必要があります。私はクロマコンポーネントを一度も使用していないので、それらがどのように格納されているかは分かりません。

この問題を解決する別の方法があるので、何をしようとしていますか?

関連する問題