硬件是 mini6410 摄像头是天敏 miniusb 摄像头 操作系统linux 参考的代码是国嵌的第一个项目
在终端 初始化摄像头出现 如下问题:
[root@FriendlyARM /home]# ./cam_server -d /dev/video2
[cmdline_parse:436]dev name: /dev/video2
[cmdline_parse:438]Resolution: 320 x 240
[v4l2_init:217]name: USB 2.0 Camera, drv: uvcvideo
[v4l2_uctrl_init:72]user control: id = 0x980900, type = 1, val = 0,
def_val = 0, min = -64, max = 127, name = Brightness, idx = 0
[v4l2_uctrl_init:72]user control: id = 0x980901, type = 1, val = 36,
def_val = 36, min = 0, max = 127, name = Contrast, idx = 1
[v4l2_uctrl_init:72]user control: id = 0x980902, type = 1, val = 60,
def_val = 60, min = 0, max = 255, name = Saturation, idx = 2
[v4l2_uctrl_init:72]user control: id = 0x980903, type = 1, val = 0,
def_val = 0, min = -40, max = 40, name = Hue, idx = 3
[v4l2_uctrl_init:72]user control: id = 0x98090c, type = 2, val = 1,
def_val = 1, min = 0, max = 1, name = White Balance Temperature, Auto, idx = 4
[v4l2_uctrl_init:72]user control: id = 0x980910, type = 1, val = 90,
def_val = 90, min = 72, max = 255, name = Gamma, idx = 5
[v4l2_uctrl_init:72]user control: id = 0x980913, type = 1, val = 0,
def_val = 0, min = 0, max = 100, name = Gain, idx = 6
[v4l2_uctrl_init:72]user control: id = 0x980918, type = 3, val = 1,
def_val = 1, min = 0, max = 2, name = Power Line Frequency, idx = 7
[v4l2_uctrl_init:72]user control: id = 0x98091a, type = 1, val = 4600,
def_val = 4600, min = 2800, max = 6500, name = White Balance Temperature, idx = 8
[v4l2_uctrl_init:72]user control: id = 0x98091b, type = 1, val = 14,
def_val = 14, min = 0, max = 100, name = Sharpness, idx = 9
[v4l2_uctrl_init:72]user control: id = 0x98091c, type = 1, val = 1,
def_val = 1, min = 0, max = 2, name = Backlight Compensation, idx = 10
v4l2_pfmt_init(180):Invalid argument
camera_init(39):Invalid argument
附上相关程序代码:
代码1:int camera_init(const char *dev, __u32 width, __u32 height, __u32 pixfmt)
{
if (-1 == v4l2_open(dev, &g_vd))
ERR_PRINT_RET(-1);
if (-1 == v4l2_init(&g_vd, width, height, pixfmt))
ERR_PRINT_RET(-1);
g_bcamoff = FALSE;
return 0;
}
相关代码2* */
int v4l2_pfmt_init(v4l2_device_t *vd, __u32 width, __u32 height, __u32 pixfmt)
{
struct v4l2_format fmt;
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
fmt.fmt.pix.width = width;
fmt.fmt.pix.height = height;
fmt.fmt.pix.pixelformat = pixfmt;
fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;
if (-1 == v4l2_ioctl (vd->fd, VIDIOC_S_FMT, &fmt))
ERR_PRINT_RET(-1);
//debug
DBG("pixel format: width = %d, height = %d,\n"
"pixfmt = 0x%x, bytesperline = %d, sizeimage = %d\n",
fmt.fmt.pix.width, fmt.fmt.pix.height,
fmt.fmt.pix.pixelformat, fmt.fmt.pix.bytesperline,
fmt.fmt.pix.sizeimage);
//debug ... end
vd->pfmt = fmt.fmt.pix;
return 0;
}
本人用非中星微的摄像头 跑国嵌的 第一个项目,希望能得到朋友们的帮助,出现上述摄像头初始化错误,如何解决。。。。。