11 12
发新话题
打印

如何利用vidcat测试ARMSYS2410与USB摄像头的连接

取消高亮

如何利用vidcat测试ARMSYS2410与USB摄像头的连接

这里采用的是网眼3000进行测试。


1、首先配置内核make menuconfig
(1)进入Multimedia devices ---> 选中video for Linux后退出;
(2)进入USB Suppot, 在 ---USB Multimedia devices中选中


USB OV511 Camera Support后退出。


然后make zImage


2、烧录kernel

进入vivi,输入load flash kernel x进行kernel的烧录。


3、启动Linux

烧录结束后输入boot启动Linux。如果此时网眼3000已经插入USB主接口,则启动信息中出现:


ov511.c: USB 0v511+ camera found;
ov511.c:......................
..............................



4、运行vidcat
shell启动后,输入命令行ln -s /dev/v4l/video0 /dev/video(或者在rcS文件中加入这一条)
然后输入:vidcat -s 640x480 -p c > test.jpg
运行完成后,即可查看test.jpg来观察抓图的效果。

TOP

试过,no problem

TOP

[ZT]如何编译成功自己的vidcat 作者:blueatom



拿到vidcat的源码后(见昨天我发的一篇帖子),经过分析,我抽取出来了三个文件:vidcat.c v4l.c v4l.h,对比修改了大概几分钟,搞定了它的编译,生成了一个60k的vidcat可执行文件,拷贝到2410上后工作正常,就是usage老显示不出来,不过无所谓了
编译之前先确定arm-linux-gcc能直接使用,并且按照说明解开完成了/friendly-arm目录下的kernel目录(btw:这个/friendly-arm目录敲起来够麻烦的,我是建了个/arm目录,然后做了个/friendly-arm目录来链接它,平常自己敲用/arm,需要用到/friendly-arm的场合和不用改东东)然后在三个文件所在目录下建立一个文件build,编辑之,内容如下:
arm-linux-gcc -g -o2
-i/usr/local/arm/2.95.3/arm-linux/include
-i/friendly-arm/kernel/include
-dvideo_dev=\"/dev/v4l/video0\"
-dversion=\"0.7.2\"
-l/usr/local/arm/2.95.3/arm-linux/lib
-o vidcat vidcat.c v4l.c
实际写的时候需要写在一行里面,注意所有“-”之前都有空格的,编辑完成后存盘退出,然后chmod +x build
然后./build就可以顺利编译出来vidcat可执行文件了
如果你不能./build,提示什么操作拒绝之类的,就用chmod 775 build
知其然还要知其所以然,我来解释一下这行命令
-i/usr/local/arm/2.95.3/arm-linux/include -i/friendly-arm/kernel/include 这个是设定将这两个目录作为搜索头文件的目录,前者是光盘上解出来的gcc工具,后者是光盘上解出来的kernel包,之所以有后者,是因为前者中的一个头文件用到了linux/version.h,而这个文件只在linux的kernel里面有,所以需要后者。
-l/usr/local/arm/2.95.3/arm-linux/lib 这个是指定到这个目录下找相应的库文件。
-dvideo_dev=\"/dev/v4l/video0\" -dversion=\"0.7.2\" 这两个是将两个预定义常量传入编译器,一个是video_dev,是指定默认的摄像头设备对应的地方,一个是version,是vidcat的版本,我拿到的板子上的video_dev是/dev/v4l/video0,一般linux系统是/dev/video0。后面这个参数里面的0.7.2你爱写啥就写啥
这个带源码的vidcat对俺这样需要自己写摄像头程序的人作用挺大,呵呵,如果你也有这样的需求,不妨再深入研究一下vidcat.c,修改并嵌入你的程序,作个快乐的diyer

TOP

vidcat的源码找不到,要请版主帮我一下了,谢谢!

TOP

光盘资料中有啊

TOP

vidcat的源码在w3c的那个包里。我这里有个问题请教!


用minicom连上开发板以后 ,命令行控制Camera拍照,结果发现无法拍摄JPEG的图片,只能拍摄PPM这一类ASCII码只经过量化,没有经过压缩的图片。


我的问题是:


1、和板子一起买的那个网眼2000内部是否自带编解码芯片


2、拍摄JPEG压缩的图片是否需要开发板上面操作系统的JPG Lib支持



谢谢!

TOP

nobody care?

TOP

没错,OV511的摄像头输出好象是没压缩过的,所以需要下JPEG库来自己压缩

TOP

关于ov511的输出是rgb格式的,经过vidcat处理后还是ppm格式,不能生成jpeg格式,而在vidcat -h


中有一个 -f 好像可以把其输出转化成jpeg格式,但也不行,是不是vidcat有问题,我试过vidcat -o a.bmp b.gif c.png都不行,只有ppm格式可以,楼上的raodali说可以生成jpeg格式,是怎么生成的,请教高手


谢谢

TOP

按照顶楼帖子的方法就可以生成jpg格式,


vidcat本身还支持更多格式,但需要自己编译vidcat并加入相关库的支持

TOP

 11 12
发新话题