视频采集及显示: main.c文件参考
视频采集及显示 1.0 beta
Linux平台视频采集及其显示

main.c文件参考

Linux下USB摄像头测试程序,程序运行后,需按回车键方可显示图像,当然,测试环境必须准备好。 SDL显示也在本文件中实现。 更多...

#include <SDL/SDL.h>
#include <SDL/SDL_thread.h>
#include <SDL/SDL_audio.h>
#include <SDL/SDL_timer.h>
#include <SDL/SDL_syswm.h>
#include <signal.h>
#include "v4l2uvc.h"

函数

int get_info (void)
int display (void)
int main (void)

变量

struct video_infovd_info = NULL

详细描述

Linux下USB摄像头测试程序,程序运行后,需按回车键方可显示图像,当然,测试环境必须准备好。 SDL显示也在本文件中实现。

Copyleft (C) 2010 Late Lee This program is tested on LINUX PLATFORM, WITH GCC 4.x. The program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. Please feel free to use the program, and I feel free to ignore the related issues. Any questions or suggestions, or bugs, please contact me at <$ echo -n "aHR0cDovL3d3dy5sYXRlbGVlLm9yZwo=" | base64 -d> or e-mail to <$ echo -n "bGF0ZWxlZUAxNjMuY29tCg==" | base64 -d> if you want to do this.

作者:
Late Lee
日期:
Sat May 29 2010
测试:
在程序目录中直接输入make 即可编译生成capture 可执行文件。
输入./capture即可运行程序,在运行程序之前,请确保插入USB摄像头,并查看/dev 目录下 是否生成video 设备文件(使用命令ls -l /dev | grep video),经测试,在PC中,/dev/video文件 是摄像头设备的链接文件名称,程序中即使用这个文件名。
程序测试环境如下:
虚拟机fc10
[latelee camera-pc-utf]$ uname -a
Linux latelee.latelee.org 2.6.27.5-117.fc10.i686 #1 SMP Tue Nov 18 12:19:59 EST 2008 i686 i686 i386 GNU/Linux
[latelee camera-pc-utf]$ rpm -q "SDL"
SDL-1.2.13-6.fc10.i386
[latelee camera-pc-utf]$ rpm -q "glibc"
glibc-2.9-2.i686
摄像头参数:
蓝色妖姬天使系列T629小梅花
帧速: 30帧/秒
感应器: CMOS传感器
动态分辨率: 系统默认640X480
静态分辨率 2560×1920
接口  USB 2.0,兼容USB1.1
测试图示:
pic-640x480.png

某房间一角(640x480)

pic-1024x768.png

指定范围太大,失败(1024x768)


函数文档

int display ( void  )

display - 使用SDL显示图像

返回:
成功返回0,否则返回-1,并提示出错信息
注解:
本函数涉及许多SDL库的类型及函数
int get_info ( void  )

get_info - 获取摄像头信息测试函数,由main函数调用

返回:
成功返回0,否则返回-1,并提示出错信息
int main ( void  )

main - 主函数

返回:
成功返回0,否则返回-1,并提示出错信息
注解:
测试过程
1、先获取摄像头相关信息; 2、等待用户输入回车, 3、回车后,采集数据并显示,按Ctrl+c中断,或按SDL窗口关闭程序,否则一直显示

变量文档

struct video_info* vd_info = NULL

摄像头信息结构体