视频监控
勇士后卫头盔哥
这个作者很懒,什么都没留下…
展开
-
在LCD显示摄像头图像
框架我们将从摄像头读到数据在LCD上显示,首先将摄像头数据读出到一块内存上,然后设置好LCD控制器从这块内存读取数据到LCD显示屏上,对于摄像头数据格式来说有YUV,MJPEG,RGB,而我们的LCD只支持RGB格式的数据格式,所以这里面还要将读取到的摄像头头数据进行一数据格式的转化,除了数据格式的转换外还需要分辨率的转化,如下图所示流程:...原创 2020-06-29 11:56:00 · 1646 阅读 · 1 评论 -
ASOC框架(二)
前言在前面ASOC框架(一)我们知道ASOC被分为Machine,Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,ASoC的一切都从Machine驱动开始,包括声卡的注册,绑定Platform和Codec驱动等等,我们之前说过写一个ALSA声卡驱动的步骤有如下三步:1 . snd_card_create 2 . 初始化:创建逻辑设备 snd_pcm_new3 . snd_card_register我们说过AS原创 2020-05-26 20:16:24 · 185 阅读 · 0 评论 -
ASOC框架(一)
前言ASoC–ALSA System on Chip,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系,我们使用ASOC框架的话就不用调用snd_card_create等函数来创建我们的声卡,目前已经被整合至内核的代码树中:sound/soc,ASOC把声卡的驱动分为三部分,分别为machine,platform,codec如上图所示,我们对machine,platform,codec三部分做简要的介绍machine:单板相关,表明platform原创 2020-05-26 16:56:57 · 656 阅读 · 0 评论 -
ALSA声卡原理介绍及其框架
声卡原理介绍ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构, 在内核设备驱动层,ALSA提供了alsa-driver,同时在应用层,ALSA为我们提供了alsa-lib,应用程序只要调用 alsa-lib提供的API,即可以完成对底层音频硬件的控制,内核空间中,alsa-soc其实是对alsa-driver的进一步封装,他针对嵌入式设备提供了一系列增强的功能.从alsa在linux中的设备文件结构如下图所示,我们可以看到原创 2020-05-25 12:06:25 · 807 阅读 · 0 评论 -
CMOS摄像头硬件原理
前言如上图所示,此过程为视频数据流的流向过程,输入信号为自然景观等的模拟信号,输出信号为RAW RGB格式或者YUV格式的数字信号,RGB和YUV是两种完全不同的颜色空间,它们之间可以相互转换,而且图像的分辨率主要有VGA(640480),QVGA(240320),CIF(352288)三种, 或者更低的分辨率,下面我们看下摄像头的数据手册参数1.重要参数讲解active array size: 摄像头的有效感光阵列的大小,为656488,即30w像素len sizes: 镜头的大小为1/5寸原创 2020-05-20 15:06:52 · 1969 阅读 · 0 评论 -
USB摄像头驱动之设置属性
前言对于摄像头的属性有亮度,曝光度等等…,那怎么去获得/设置这些属性呢,在应用层使用ioctl命令:VIDIOC_QUERYCTRL,VIDIOC_G_CTRL,VIDIOC_S_CTRL来查询,获取,设置当前摄像头的属性,所以在底层驱动中中我们必须来实现这些函数的定义,该函数原型如下int (*vidioc_queryctrl)(struct file *file, void *fh,struct v4l2_queryctrl *a);int (*vidioc_g_ctrl)(struct fil原创 2020-05-16 22:28:19 · 1399 阅读 · 0 评论 -
UVC摄像头驱动程序框架
前言USB video class又称为USB video device class or UVC就是USB device class视频产品在不需要安装任何的驱动程序下即插即用,包括摄像头,数字摄影机,模拟视频转换器,电视卡及静态视频相机,V4L2就是用来管理UVC设备的并且能够提供视频相关的一些API摄像头插入后内核打印出此信息,这是UVC机制的支持,即插即用不用我们自己写usb的驱动程序根据此信息可以定位到drivers\media\usb\uvc\uvc_driver.c文件,该层为硬件相关原创 2020-05-13 10:35:40 · 1241 阅读 · 0 评论 -
__V4l2(VideoForLinuxVersion2)框架
前言__V412术语的意思是:video for linux version2,是Linux内核中关于视频设备的内核驱动框架,为上层的访问底层的视频设备提供了统一的接口.凡是内核中的子系统都有抽象底层硬件的差异,为上层提供统一的接口和提取出公共代码避免代码冗余等好处.,我们的摄像头驱动程序是属于字符设备驱动程序,对于复杂的字符设备驱动程序它引入了分层的概念,在我们之前写过的LCD驱动文章就是利用这种分层的概念,如下图所示,上一层的fbmem.c构造了一个fops结构体,里面有打开,读写函数,注册该结构体,原创 2020-05-12 11:35:49 · 766 阅读 · 0 评论