我正在尝试使用 Ubuntu 上的 C 程序从我的网络摄像头捕获一些图像,但我无法使用 OpenCV 来解决硬件问题。我使用了这个简单的代码:
#include <stdio.h>
#include <stdlib.h>
#define SIZE 76800 // number of pixels (320x240 for my webcam)
int main() {
FILE *camera, *grab;
camera=fopen("/dev/video0", "rb");
grab=fopen("grab.jpeg", "wb");
float data[SIZE];
fread(data, sizeof(data[0]), SIZE, camera);
fwrite(data, sizeof(data[0]), SIZE, grab);
fclose(camera);
fclose(grab);
return 0;
}
编译我的代码 gcc -o snap cam.c
并运行 snap 结果grab.jpeg
文件。但它似乎不是 jpeg 格式。有没有可能直接生成一个jpeg文件?