原谅我的问题,这是我的第一个问题。我试图尝试使用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
是拥有图片的结构。