天嵌 ARM开发社区

 找回密码
 注册
12
返回列表 发新帖
楼主: jushui

使用爱友摄像头时,遇到的问题

[复制链接]
 楼主| jushui 发表于 2012-12-18 22:17:46 | 显示全部楼层
木♀木 发表于 2012-12-16 10:22
struct v4l2_fmtdesc fmtdesc;
memset(&fmtdesc, 0, sizeof(fmtdesc));
fmtdesc.index=0;

添加你的这段代码后,得到下面信息:

我从新设置格式以后还是出错,是在这段代码上:
if (ioctl (fd, VIDIOC_S_FMT,&fmt) < 0 ){
      printf("set format failed.\n");
      return -1 ;
}
我估计是驱动的原因,就如我在帖子上第一个图,当插上摄像头以后,没有出现下面信息
[root@EmbedSky /bin]# usb 1-1: USB disconnect, address 7
usb 1-1: new full speed USB device using s3c2410-ohci and address 8
usb 1-1: New USB device found, idVendor=0ac8, idProduct=301b
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1: Product: PC Camera
usb 1-1: Manufacturer: Z-Star Corp.
usb 1-1: configuration #1 chosen from 1 choice
gspca: probing 0ac8:301b
zc3xx: probe 2wr ov vga 0x0000
zc3xx: probe sensor -> 0011
zc3xx: Find Sensor HV7131R(c)
gspca: probe oK


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| jushui 发表于 2012-12-18 22:20:48 | 显示全部楼层
亚瑟王 发表于 2012-12-18 11:19
理论上市面上买的摄像头多数都可以。我们前段时间也在市面上买了几个摄像头,都是可以用的。

帮帮忙,今天调试了一下午,还是不行。明天我再试试,不然只有换摄像头了,你推荐几款能调通的摄像头吧。
亚瑟王 发表于 2012-12-19 10:50:31 | 显示全部楼层
jushui 发表于 2012-12-18 11:27
我买的爱友这款就不能用啊,你说说你买的是那几款摄像头,参考哪些参数?

呵呵,我们在楼下的电脑城随手购买的。
 楼主| jushui 发表于 2012-12-19 14:55:45 | 显示全部楼层
亚瑟王 发表于 2012-12-19 10:50
呵呵,我们在楼下的电脑城随手购买的。

现在能把驱动给加载上了,怎么把摄像头捕获的MJPEG转换成JPEG?自带的usb_camera只有JPEG的格式转换。
亚瑟王 发表于 2012-12-19 22:03:05 | 显示全部楼层
jushui 发表于 2012-12-19 14:55
现在能把驱动给加载上了,怎么把摄像头捕获的MJPEG转换成JPEG?自带的usb_camera只有JPEG的格式转换。

MJPEG就是JPEG,只是一个是视频流的,一个是单张的图片。

亲,顺便写一下你是如何加载驱动的。

 楼主| jushui 发表于 2012-12-19 23:09:57 | 显示全部楼层
亚瑟王 发表于 2012-12-19 22:03
MJPEG就是JPEG,只是一个是视频流的,一个是单张的图片。

亲,顺便写一下你是如何加载驱动的。

可是用usb_camera在LCD显示屏上没有图像?等我把这些整理好了,再把解决的方法都写上。
亚瑟王 发表于 2012-12-20 14:19:26 | 显示全部楼层
jushui 发表于 2012-12-19 23:09
可是用usb_camera在LCD显示屏上没有图像?等我把这些整理好了,再把解决的方法都写上。

你找一下V4L协议看一下如何编程吧。我们提供的usb_camera是按照v4l协议来的,获取的图像是yuyv格式的,然后再用处理成RGB的。如果你的摄像头是JPEG的话,就要用JPEG转RGB了。
 楼主| jushui 发表于 2012-12-20 15:59:03 | 显示全部楼层
亚瑟王 发表于 2012-12-20 14:19
你找一下V4L协议看一下如何编程吧。我们提供的usb_camera是按照v4l协议来的,获取的图像是yuyv格式的,然 ...

我测试了一下爱友的摄像头,得到信息是
video capture
    VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
        index                   : 0
        type                    : unknown
        flags                   : 0
        description             : ""
        pixelformat             : 0x00000000 [....]
    VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
        index                   : 0
        type                    : VIDEO_CAPTURE
        flags                   : 1
        description             : "MJPEG"
        pixelformat             : 0x47504a4d [MJPG]
    VIDIOC_G_FMT(VIDEO_CAPTURE)
        type                    : VIDEO_CAPTURE
        fmt.pix.width           : 320
        fmt.pix.height          : 240
        fmt.pix.pixelformat     : 0x47504a4d [MJPG]
        fmt.pix.field           : NONE
        fmt.pix.bytesperline    : 0
        fmt.pix.sizeimage       : 153600
        fmt.pix.colorspace      : unknown
        fmt.pix.priv            : 0

streaming is available
buffers available = 20
mmap: Permission denied
接下来应该就是怎么把MJPEG格式转换成RGB格式了。我在设置格式时,设置不了MJPG格式的。
亚瑟王 发表于 2012-12-21 20:20:45 | 显示全部楼层
jushui 发表于 2012-12-20 15:59
我测试了一下爱友的摄像头,得到信息是
video capture
    VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)

不用设置了,直接使用JPEG转RGB就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-29 22:49 , Processed in 1.046875 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表