Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1427250
  • 博文数量: 430
  • 博客积分: 9995
  • 博客等级: 中将
  • 技术积分: 4388
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-24 18:04
文章存档

2013年(1)

2008年(2)

2007年(14)

2006年(413)

分类:

2006-10-16 16:15:19


1.USB摄像头驱动
很多摄像头芯片在Linux kernel内置的驱动里并没有附带,国内的中星微芯片(vimicro)在Linux kernel

里也没有.
幸好 (spca5xx). 做了很多USB摄像头的支持.

我用的0AC8:301B(中星微的),在spca5xx软件里就支持.

1.1 怎么编译,安装?
下载,解压缩.
修改Makefile里的kernel目录,编译驱动都需要你当前启动kernel的源代码目录.
在代码目录产生spca5xx.ko(Linux kernel 2.6.xx版本).
insmod spca5xx.ko
注意kernel要支持v4l接口.(media support).

1.2 应用怎么用?
1.)你可以下载
spcaview,来编译,运行.
2.)也可以用gqcam, xawtv,gnomemeeting, camE等软件.(标准v4l接口).

2.EGui 怎么用这个驱动?

2.1简单原理.

EGui用的也是标准v4l接口,打开/dev/video0设备文件,进行一些设置后.读出具体的数据.
EGui设置读到的数据是RGB的.再采用drawrgb,来显示.
其实EGui采用的v4l这个接口来自vidcat.c (webcam里面的一个子程序).

2.2 程序实现.
程序代码

展开后在EGui/demo/usbcam/目录
usbcam.c 主要负责EGui的显示接口,
vidcat.c 负责v4l接口.
程序采用timer方式0.5秒显示一帧. 我主要是实现功能没有仔细优化.
其实我看了spca5xx的驱动,它每次读2个帧进行buffer处理,我每次都读0帧,并没有理睬1帧.这个可以

优化.
还有就是open,close文件的处理,我现在为了保证安全每次timer都重新做一次,要是优化应该可以不需

要.由于我对v4l的原理不清楚,没有分开做.有兴趣的朋友可以帮我优化优化.

如果有其他问题文档上没有提及的请到的论坛上提问.

good luck
asmcos
2006-04-21


--------------------
egui是一个图形库,
阅读(522) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~