⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 video.c.bak

📁 周立功2410开发板V4L模块应用
💻 BAK
字号:
/****************************************Copyright (c)****************************************************                               Guangzhou ZHIYUAN electronics Co.,LTD.**                                     **                                 http://www.zyinside.com****--------------File Info-------------------------------------------------------------------------------** File Name: video.c** Last modified Date: 2006-01-14 ** Last Version: v1.0** Description: ** Note: **------------------------------------------------------------------------------------------------------** Created By: 周立山** Created date: 2006-01-01 ** Version: v1.0** Descriptions:****------------------------------------------------------------------------------------------------------** Modified by:** Modified date:** Version:** Description:**********************************************************************************************************///  arm-linux-gcc -s -Wall -I/zls/2410/kernel2.4.18/include  -Wstrict-prototypes video.c -o video//	mknod /dev/video0 c 81 0 #include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#include <sys/ioctl.h>#include <stdlib.h>#include <linux/videodev.h>#define FILE "/dev/video0"							// 定义打开文件的名称int main(void){  struct video_capability cap;						// 设备的性能  struct video_picture vpic;							// 设备的图片特性	struct video_mbuf	mbuf;									// 设备缓冲区信息		int fd = open(FILE, O_RDONLY);					// 打开设备  if (fd < 0) {    perror(FILE);    exit(1);  }    printf("\n==================Get struct video_capability=======================\n");  if (ioctl(fd, VIDIOCGCAP, &cap) < 0) {	// 获取设备性能描述数据结构    perror("VIDIOGCAP");    fprintf(stderr, "(" FILE " not a video4linux device?)\n");    close(fd);    exit(1); }  printf(cap.name);printf(", Type:%d\n",cap.type);  printf("Maxwidth:%d,Maxheight:%d\n",cap.maxwidth ,cap.maxheight);  printf("Minwidth:%d,Minheight:%d\n",cap.minwidth,cap.minheight);  printf("Channels:%d,Audios:%d\n",cap.channels,cap.audios);   printf("\n====================Get struct video_mbuf==========================\n");  if (ioctl(fd, VIDIOCGMBUF, &mbuf) < 0) {	// 获取设备性能描述数据结构    perror("VIDIOGCAP");    fprintf(stderr, "(" FILE " not a video4linux device?)\n");    close(fd);    exit(1); }  printf("Memery buffer size:%d\n",mbuf.size);  printf("Memery buffer frames:%d\n",mbuf.frames );  printf("\n===================Get struct video_picture=========================\n");  if (ioctl(fd, VIDIOCGPICT, &vpic) < 0) {	// 获取图象特性数据结构    perror("VIDIOCGPICT");    close(fd);    exit(1); }	printf("Brightness:%d,Hue:%d,Colour:%d\n",vpic.brightness,vpic.hue,vpic.colour);	printf("Contrast:%d,Whiteness:%d(Black and white only)\n",vpic.contrast,vpic.whiteness);	printf("Capture depth:%d,Palette:%d\n",vpic.depth,vpic.palette);	printf("\nSet vpic.palette to VIDEO_PALETTE_RGB565,and vpic.depth to 16.\n");  vpic.palette=VIDEO_PALETTE_RGB565;					// 设置调色板  vpic.depth=16;															// 设置象素深度  if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {			// 设置图像特性     fprintf(stderr, "Unable to find a supported capture format.\n");     close(fd);     exit(1);  }    printf("\n===================Get struct video_picture=========================\n");  if (ioctl(fd, VIDIOCGPICT, &vpic) < 0) {	// 获取图象特性数据结构    perror("VIDIOCGPICT");    close(fd);    exit(1);  }	printf("Brightness:%d,Hue:%d,Colour:%d\n",vpic.brightness,vpic.hue,vpic.colour);	printf("Contrast:%d,Whiteness:%d(Black and white only)\n",vpic.contrast,vpic.whiteness);	printf("Capture depth:%d,Palette:%d\n",vpic.depth,vpic.palette);  close(fd);																	// 关闭设备  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -