91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

linux下通用的攝像頭抓圖程序,v4l上直接交叉編譯,拷到開發板運行即可

資源截圖

代碼片段和文件信息


#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include? /*?gettimeofday()?*/
#include?
#include?
#include?
#include?
#ifdef?HAVE_LIBZ
#include?
#endif
#ifdef?HAVE_LIBPNG
#include?
#endif
#ifdef?HAVE_LIBJPEG
#include?
#endif
#include?“v4l.h“

#define?DEF_WIDTH 320 /*?default?width?*/
#define?DEF_HEIGHT 240 /*?default?height?*/

#define?FMT_UNKNOWN 0
#define?FMT_PPM 1
#define?FMT_PGM 2
#define?FMT_PNG 3
#define?FMT_JPEG 4
#define?FMT_YUV4MPEG 5

#define?IN_TV 0
#define?IN_COMPOSITE 1
#define?IN_COMPOSITE2 2
#define?IN_SVIDEO 3

#define?NORM_PAL 0
#define?NORM_NTSC 1
#define?NORM_SECAM 2

#define?QUAL_DEFAULT 80

char?*basename?(const?char?*s);

/*?globals
?*/
static?int?verbose?=?0;

/*
?*/
void
usage?(char?*pname)
{
fprintf?(stderr
“VidCat?Version?%s\n“
“Usage:?%s?\n“
“?-b??????????????????????????make?a?raw?PPM?instead?of?an?ASCII?one\n“
“?-d??????????????????video?device?(default:?“VIDEO_DEV“)\n“
“?-f?{ppm|jpeg|png|yuv4mpeg}??output?format?of?the?image\n“
“?-g??????????????????????????greayscale?instead?of?color\n“
“?-i?{tv|comp1|comp2|s-video}?which?input?channel?to?use\n“
“?-l??????????????????????????loop?on?doesn‘t?make?sense?in?most?cases\n“
“?-n?{pal|ntsc|secam}?????????select?video?norm\n“
“?-o????????????????????write?output?to?file?instead?of?stdout\n“
“?-p?c|g|y|Y??????????????????videopalette?to?use\n“
“?-q?????????????????only?for?jpeg:?quality?setting?(1-100“
“?default:?%d)\n“
“?-s?NxN??????????????????????define?size?of?the?output?image?(default:“
“?%dx%d)\n“
“Example:?vidcat?|?xsetbg?stdin\n“
VERSION?(char*)basename(pname)?QUAL_DEFAULT?DEF_WIDTH?DEF_HEIGHT);
exit?(1);
}

/*
?*/
double
ms_time?(void)
{
static?struct?timeval?tod;
gettimeofday?(&tod?NULL);
return?((double)tod.tv_sec?*?1000.0?+?(double)tod.tv_usec?/?1000.0);

}


/*
?*?read?rgb?image?from?v4l?device?從v4l設備獲取rgb圖像
?*?return:?mmap‘ed?buffer?and?size
?*/
char?*
get_image?(int?dev?int?width?int?height?int?palette?int?*size)
{
struct?video_mbuf?vid_buf;
struct?video_mmap?vid_mmap;
char?*map?*convmap;?//map指向抓到的圖片所存空間
int?len;?
int?bytes?=?3;??//比特每像素

if?(palette?==?VIDEO_PALETTE_GREY)?//若為灰度圖象
bytes?=?1; /*?bytes?per?pixel?*/

if?(ioctl?(dev?VIDIOCGMBUF?&vid_buf)?==?-1)?{
/*?to?do?a?normal?read()
?*/
struct?video_window?vid_win;
if?(verbose)?{
fprintf?(stderr?“using?read()\n“);
}

if?(ioctl?(dev?VIDIOCGWIN?&vid_win)?!=?-1)?{
vid_win.width??=?width;
vid_win.height?=?height;
if?(ioctl?(dev?VIDIOCSWIN?&vid_win)?==?-1)?{
perror?(“ioctl(VIDIOCSWIN)“);??//ioctl函數功能??
return?(NULL);
}
}

map?=?malloc?(width?*

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????16582??2008-11-20?21:30??arm9上攝像頭抓圖源代碼(v4l通用)\vidcat.c

?????目錄??????????0??2013-01-06?14:28??arm9上攝像頭抓圖源代碼(v4l通用)

-----------?---------??----------?-----??----

????????????????16582????????????????????2


評論

共有 條評論