/***************************************/
/*
author: yuweixian
blog: http://blog.chinaunix.net/space.php?uid=22666248
date: 2011.5.4
function: display usb-camera video on lcd by framebuffer
compile : arm-linux-gcc capture.c -ljpeg -o capture
how to use: ./capture
ok..enjoy it
*/
/**************************************/
#include "v4l2.h"
#include "frame_jpeg.h"
int main(int argc,char **argv)
{
FRAME_DEV frame_dev; //framebufrer 结构体
JPEG_DEV jpeg_dev; // jpeg 解码 结构体
init_framebuffer(&frame_dev); //初始化 framebuffer 设备
open_v4l2_device (); //打开 v4l2 设备
init_v4l2_device (); //初始化 设备
start_capturing (); //开始捕获 视频图片
for (;;)
{
fd_set fds;
struct timeval tv;
int r;
FD_ZERO (&fds);
FD_SET (fd, &fds);
/* Timeout. */
tv.tv_sec = 2;
tv.tv_usec = 0;
r = select (fd + 1, &fds, NULL, NULL, &tv);
if (-1 == r)
{
if (EINTR == errno)
continue;
v4l2_errno_exit ("select");
}
if (0 == r)
{
fprintf (stderr, "select timeout\n");
exit (EXIT_FAILURE);
}
while(1)
{
read_frame(); // 读出一帧数据,并存储成一张图片,方便后面解码
if((jpeg_dev.infile=fopen("mmap.jpg","rb"))==NULL) //打开 解码图片
{
fprintf(stderr,"open %s failed \n",argv[1]);
exit(-1);
}
init_jpeg(&jpeg_dev); //图片 初始化
judge_large_picture(&frame_dev,&jpeg_dev); //if picture is too large ,return -1;
//申请 动态空间
jpeg_dev.buffer=(unsigned char *)malloc(jpeg_dev.cinfo.output_width*jpeg_dev.cinfo.output_components);
dispaly_picture(&frame_dev,&jpeg_dev); //显示图片到 lcd上
close_jpeg(&jpeg_dev); // 关闭 这张 图片 结构体
//close_framebuffer(&frame_dev);
}
}
close_framebuffer(&frame_dev);
uninit_v4l2_device ();
close_v4l2_device ();
exit (EXIT_SUCCESS);
return 0;
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
USB 摄像头程序.rar (14个子文件)
USB 摄像头程序
v4l2.h 7KB
Untitled Project.PR 29KB
Untitled Project.IAD 2KB
Untitled Project.WK3 16KB
capture.c 2KB
Untitled Project.PRI 188KB
Untitled Project.PFI 12B
Untitled Project.IMB 68KB
Untitled Project.IMD 1008B
frame_jpeg.h 7KB
Untitled Project.PO 776B
Untitled Project.SearchResults 425B
Untitled Project.PS 488KB
Untitled Project.IAB 164KB
共 14 条
- 1
资源评论
guyinghenleng
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java销售数据决策管理系统源码数据库 MySQL源码类型 WebForm
- getchar() 函数在 C 语言中的用法.pdf
- (源码)基于JavaSwing和MySQL的航班管理系统.zip
- (源码)基于C语言的试卷管理系统.zip
- 云开发介绍与发展场景,分享给有需要的人,仅供参考
- (源码)基于Arduino框架的呼吸机控制系统.zip
- 基于Yolov5的区域人流量检测平台(源码)
- (源码)基于Arduino架构的LilyGoTTWatch智能手表系统.zip
- C# NetWorkHelper.dll,C#基于Socket封装的高性能TCP/UDP客户端服务端组件
- (源码)基于MPU9250和RTOS的自行车计算机系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功