关于USB摄像头V4L获取图像的问题,问题比较长也很急,求帮助!

Hsshuai4 2016-04-18 11:16:06
小弟最近在做本科的毕业设计,是一个s3c3440的usb摄像头图像采集,开发板用的扬创utu2440.提供的linux内核2.6.24,已经集成了对zc301的驱动,所以在dev下已经有一个video0,插上摄像头多了一个video1.

这个是摄像头插上后超级终端的提示
*********************************************************************************
usb 1-1: new full speed USB device using s3c2410-ohci and address 11
usb 1-1: configuration #1 chosen from 1 choice
drivers/media/video/gspca/gspca_core.c: USB SPCA5XX camera found.(ZC3XX)

经servfox测试:servfox -d /dev/video1 -g -s 640x480 -w 7070 可以获得图像

但是我在获取图像程序中设置的打开设备是/dev/video0,然后后获取的信息如下

//查询驱动的功能
------------VIDIOC_QUERYCAP-----------
Capability Informations:
driver: vivi
card: vivi
bus_info:
version: 00000400
capabilities: 05000001

//获取当前设备支持的视频格式
--------VIDIOC_ENUM_FMT---------
get the format what the device support
{ pixelformat = ''YUYV'', description = ''4:2:2, packed, YUYV'' }

//设置视频设备数据格式
------------VIDIOC_S_FMT---------------
Stream Format Informations:
type: 1
width: 320
height: 240
pixelformat: YUYV
field: 4
bytesperline: 640
sizeimage: 153600
colorspace: 0
priv: 0
raw_date: @

问题出现在我通过这样得到图像
1.直接获取了yuyv格式的图像,然后再YUYVviewer里面查看图片发现图片是一幅色条


2.获取YUYV图像,然后将其转成RGB24,再用libjpeg压缩得到图像,结果还是色条


我感觉是摄像头根本没有获取到图像,上面的图像貌似是一个默认图像,然后我把程序中的打开设备改成/dev/video1,但是设备能打开,到了获取Capability的时候就失败了,所以好像也不是这个问题。
到目前我这个本科学渣已经搞不懂了,请高人赐教!!
...全文
373 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wsl_wushili 2019-06-11
  • 打赏
  • 举报
回复
你可以拔掉摄像头,lsusb, 再插上,lsusb 对照下结果,确定下设备文件名
JT同学 2019-06-04
  • 打赏
  • 举报
回复
video0是虚拟摄像头,跟你的摄像头没关系,你的摄像头的video1
bothoni 2019-06-01
  • 打赏
  • 举报
回复
跳过前N个frame试试,N>=5

23,114

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧