从c中捕获v4l2中的Y,U,V值

时间:2015-07-31 13:47:17

标签: c v4l2

原谅我的问题,这是我的第一个问题。我试图尝试使用v4l2 C api直接从网络摄像头获取YUYV图片中的Y,U和V值。

到目前为止捕获然后直接写入文件并打开它工作。这是我用来获取这些值的片段。

int Y, U,V, byte;
for (byte = 0; byte < buf.bytesused; byte +=3) { 
   Y += buffers[byte+1];
   U += buffers[byte];
   Y += buffers[byte+3];
   V += buffers[byte+2];
}
Y = Y/(buf.bytesused/2);
U = U/(buf.bytesused/4);
V = V/(buf.bytesused/4);

它确实有效,但即使我改变相机的位置,它也会返回几乎相同的值。

buf是一个结构如下:struct v4l2_buffer buf = {0}buffers是拥有图片的结构。

0 个答案:

没有答案