C++ プログラムのバッファのサイズに小さな問題があります。V4L2 を使用してカメラから YUYV 画像を取得します (例はこちらから入手できます) 。
1 つの画像を取得し、それを独自の画像構造に入れたいと考えています。V4L2 構造体とそのサイズによって指定されるバッファーは次のとおりです。
(uchar*)buffers_[buf.index].start, buf.bytesused
私の構造では、サイズが width*height*bitSize の新しいバッファー (mybuffer) を作成します (YUYV または YUV422 画像を取得するため、バイト サイズは 4 です)。
問題は、バッファーbufが作成したものと同じサイズになることを期待していたことです。しかし、これは当てはまりません。たとえば、640*480 の画像 buf=614400 と mybuffer=1228800 (2 倍の大きさ) を取得する場合などです。
なぜこれが当てはまるのか、誰にも分かりますか?