四、Zedboard测试
PC上测试OK后,可以“挪”到ZedBoard上了。使用arm-xilinx-linux交叉编译环境对源文件进行交叉编译,将生成的可执行文件拷贝到ZedBoard上运行即可。 使用命令
arm-xilinx-linux-gnueabi-gcc v4l2grab.c -o zed-camera
对程序进行编译,编译通过后将生成的可执行文件zed-camera拷贝到到ZedBoard上,并将USB摄像头连接到ZedBoard上,通过命令 ls /dev
查看dev目录下的是否有video0设备。如果有,可以运行可执行文件了。在运行前我比较习惯获得可执行文件的权限,使用命令 chmod +x zed-camera
参数+x的意思是这个文件对于当前用户是可执行的。也可以使用 chmod 777 zed-camera
这样所有用户都有读写执行的权限。使用命令 ./zed-camera
执行可执行程序,程序运行,并输出以下信息:
zynq> ./zed-camera
[ 318.290000] usb 1-1.3: reset high-speed USB device number 3 using xusbps-ehci
driver: uvcvideo
card: UVC Camera (046d:0825) bus_info: usb-xusbps-ehci.0-1.3 version: 197376 capabilities: 4000001
Device /dev/video0: supports capture. Device /dev/video0: supports streaming. Support format: 1.YUV 4:2:2 (YUYV) 2.MJPEG
fmt.type: 1 pix.pixelformat: YUYV pix.height: 480 pix.width: 640 pix.field: 1 init /dev/video0 [OK] grabyuyv OK
save /usr/image_yuv.yuv OK change to RGB OK
save /usr/image_bmp.bmp OK
可以看到我使用的USB摄像支持YUYV和MJPEG两种格式。我也试过其他USB摄像头,大部分都只支持YUYV而不支持MJPEG或者RGB24。
采集到的图片默认是在/usr目录下的,将其拷贝出来 cp /usr/image* /mnt 再PC上查看,效果还不错
=============================