1

Video4Linux2 を使用して Web カメラから画像データをキャプチャしています。デバイスから返されるピクセル形式は V4L2_PIX_FMT_YUYV です。http://linuxtv.org/downloads/v4l-dvb-apis/V4L2-PIX-FMT-YUYV.htmlによると、これは YUV422 と同じなので、 http://の説明に基づいて YUV422 から RGB24 への変換を使用しました。 paulbourke.net/dataformats/yuv/ .

驚くべきことに、結果は奇妙な紫/緑の画像になります。したがって、YUYV は YUV422 とは異なるようです (また、同じ/同じではないピクセル形式 V4L2_PIX_FMT_YUV422P も存在しますか?)。

だから私は今完全に混乱しています.V4L2_PIX_FMT_YUYVビットマップを実際のRGB24に変換するにはどうすればよいですか? そこに例はありますか?

4

2 に答える 2

3

コメントを書くには長すぎます...

4:2:2 はピクセル形式ではなく、彩度データがどのようにサブサンプリングされたかについての単なる表記です。linuxtv-link によると、V4L2_PIX_FMT_YUYV は YUYV または YUY2 と同じです。この件に関する最終的なリファレンスはhttp://www.fourcc.orgです。http://www.fourcc.org/yuv.php#YUYVで YUY2 についての説明をご覧ください。

       Horizontal   Vertical
Y Sample Period 1   1
V Sample Period 2   1
U Sample Period 2   1

入力形式が実際に YUYV であることを確認するには、私がSDLを使用して作成したビューアーを使用できます。この形式をネイティブにサポートする (とりわけ)

https://github.com/figgis/yuv-viewer

rgb/yuv-conversion の正しい式については、 http: //www.fourcc.org/fccyvrgb.phpも参照してください。

さらにサポートが必要な場合は、そこから取得してコメントをお送りください...

于 2013-04-23T19:36:48.183 に答える