当前位置: 首页 > wzjs >正文

公司网站想自己做百度云网盘入口

公司网站想自己做,百度云网盘入口,js网站源码,网上做平面设计的网站树莓派学习专题<8>:使用V4L2驱动获取摄像头数据--获取摄像头支持的分辨率 1. 获取摄像头支持的分辨率2. 代码分析3. 树莓派实测 1. 获取摄像头支持的分辨率 使用如下代码获取摄像头支持的输出分辨率。 struct v4l2_frmsizeenum stFrameSize …

树莓派学习专题<8>:使用V4L2驱动获取摄像头数据--获取摄像头支持的分辨率

  • 1. 获取摄像头支持的分辨率
  • 2. 代码分析
  • 3. 树莓派实测

1. 获取摄像头支持的分辨率

使用如下代码获取摄像头支持的输出分辨率。

	struct v4l2_frmsizeenum stFrameSize ;/*********************************************** other codes * ********************************************/stFrameSize.index        = 0 ;stFrameSize.pixel_format = V4L2_PIX_FMT_YUYV ;printf("--Frame resolution descriptor ----------------------------\n") ;while(-1 != ioctl(g_iFDVideo, VIDIOC_ENUM_FRAMESIZES, &stFrameSize)){printf("-- %d. %c%c%c%c ", stFrameSize.index + 1, (stFrameSize.pixel_format >>  0) & 0xff, (stFrameSize.pixel_format >>  8) & 0xff, (stFrameSize.pixel_format >> 16) & 0xff, (stFrameSize.pixel_format >> 24) & 0xff) ;if(V4L2_FRMSIZE_TYPE_DISCRETE == stFrameSize.type){printf("type : DISCRETE\n\t\t width : %d\n\t\t height : %d\n", stFrameSize.discrete.width, stFrameSize.discrete.height) ;}else if(V4L2_FRMSIZE_TYPE_CONTINUOUS == stFrameSize.type){printf("type : CONTINUOUS\n") ;}else if(V4L2_FRMSIZE_TYPE_STEPWISE == stFrameSize.type){printf("type : STEPWISE\n""\t\t min_width   : %d\n""\t\t max_width   : %d\n""\t\t step_width  : %d\n""\t\t min_height  : %d\n""\t\t max_height  : %d\n""\t\t step_height : %d\n", stFrameSize.stepwise.min_width,stFrameSize.stepwise.max_width,stFrameSize.stepwise.step_width,stFrameSize.stepwise.min_height,stFrameSize.stepwise.max_height,stFrameSize.stepwise.step_height) ;}stFrameSize.index++ ;}printf("----------------------------------------------------------\n\n\n") ;

2. 代码分析

使用 VIDIOC_ENUM_FRAMESIZES 命令来获取摄像头支持的分辨率。该命令需要一个 struct v4l2_frmsizeenum 类型的参数。
该结构体的定义:

	struct v4l2_frmsizeenum {__u32			index;		/* Frame size number */__u32			pixel_format;	/* Pixel format */__u32			type;		/* Frame size type the device supports. */union {					/* Frame size */struct v4l2_frmsize_discrete	discrete;struct v4l2_frmsize_stepwise	stepwise;};__u32   reserved[2];			/* Reserved space for future use */};
  1. index 为序号,从0开始指定。
  2. pixel_format 像素格式。根据前述的 VIDIOC_ENUM_FMT 命令获取到的摄像头支持的格式填写。例如 **V4L2_PIX_FMT_YUYV ** 。
  3. type 为摄像头像素支持的分辨率类型。其可能有3个取值:
	enum v4l2_frmsizetypes {V4L2_FRMSIZE_TYPE_DISCRETE	= 1,V4L2_FRMSIZE_TYPE_CONTINUOUS	= 2,V4L2_FRMSIZE_TYPE_STEPWISE	= 3,};

如果是类型 V4L2_FRMSIZE_TYPE_DISCRETE,则结构体 v4l2_frmsizeenum 中,联合体取 discrete 。说明该摄像头支持特定值的分辨率(特定的宽、高)。
如果是类型 V4L2_FRMSIZE_TYPE_STEPWISE,则结构体 v4l2_frmsizeenum 中,联合体取 stepwise。说明该摄像头支持一系列步进的分辨率。
大多数CIS(CMOS image sensor)都支持 stepwise,即分辨率是可调的。因此如果接口是MIPI-CSI,估计大多数都是 stepwise 类型。如果是USB摄像头,摄像头内部带有主控,限制了分辨率,因此可能是 discrete 。此点纯属猜测。

  1. struct v4l2_frmsize_discrete 类型如下。此时摄像头支持特定宽高的分辨率。
	struct v4l2_frmsize_discrete {__u32			width;		/* Frame width [pixel] */__u32			height;		/* Frame height [pixel] */};
  1. struct v4l2_frmsize_stepwise 类型如下。此时摄像头支持一定步进的分辨率。
	struct v4l2_frmsize_stepwise {__u32			min_width;	/* Minimum frame width [pixel] */__u32			max_width;	/* Maximum frame width [pixel] */__u32			step_width;	/* Frame width step size [pixel] */__u32			min_height;	/* Minimum frame height [pixel] */__u32			max_height;	/* Maximum frame height [pixel] */__u32			step_height;	/* Frame height step size [pixel] */};

其中,:
min_width 为最小宽度,max_width 为最大宽度,step_width 为宽度步进值。
min_height 为最小高度,max_height 为最大高度,step_height 为高度步进值。

3. 树莓派实测

材料:

  1. Raspberry Pi 4B计算机;
  2. IMX219摄像头组件。
    运行上述代码,打印结果:
--Frame resolution descriptor ----------------------------
-- 1. YUYV type : STEPWISEmin_width   : 32max_width   : 3280step_width  : 2min_height  : 32max_height  : 2464step_height : 2
----------------------------------------------------------

可见,树莓派IMX219摄像头,当输出格式指定为YUYV时,输出宽度可在323280之间,以2为步进调节;输出高度可在322464之间,以2为步进调节。

需要注意的是,指定不同的pixel_format 时,可能获取到不同的分辨率支持。


http://www.dtcms.com/wzjs/89959.html

相关文章:

  • 济南网站开发招聘网页制作官方网站
  • 深圳网站设计x云盘搜
  • 永久网站建设seo 优化技术难度大吗
  • html5 的网站苏州排名搜索优化
  • 123logo设计宁波优化推广选哪家
  • 南京哪里有做网站的百度推广优化
  • 哪个网站做网销更好百度seo官方网站
  • 中山网站建设收费标准湖南正规关键词优化首选
  • 网站建设天津seo内部优化具体做什么
  • 中企动力官网登录海淀seo搜索优化多少钱
  • 鲅鱼圈网站在哪做营销图片素材
  • 企业网站建设的原则包括seo优化推广工程师招聘
  • 在阿里巴巴上做网站有效果吗百度推广登录平台
  • 国外优秀设计网站推荐每日财经要闻
  • 为某网站做一则广告语学网络运营需要多少钱
  • 白山北京网站建设深圳网络营销推广外包
  • WordPress短码生成器seo网络推广排名
  • 做装修网站好赚钱吗宁波优化网页基本流程
  • 做爰全的网站百度官网首页下载
  • 高端 建站百度网盘人工客服电话
  • 哪个网站做浏览器主页海南百度竞价排名
  • 网站开发的目的意义新网络营销
  • 网站互动营销深圳市社会组织总会
  • 企业网站的设计要点网络营销服务的内容
  • 医院网站建设情况说明书企业推广是什么意思
  • 长沙外贸建站中国十大公关公司排名
  • 鸿顺里网站建设公司广告开户
  • wordpress自定义重用结构seo优化是利用规则提高排名
  • wordpress文章标题seo自然优化排名技巧
  • 坪地网站建设如何百度搜索指数1000是什么