• 1-2. 摄像头驱动的使能配置、V4L2编程接口的设计应用


      摄像头采集子系统

    一.摄像头驱动的使能配置

    硬件:选择USB摄像头,内置芯片ZC30系列,Linux包含的万能驱动兼容;

    驱动:配置Linux内核,选择万能摄像头驱动中ZC30系列驱动文件、支持V4L2接口编译下载内核;

      内核下载至开发板并挂载后,摄像头开发环境以搭建完成,以下即为应用采集。

    V4L2接口:编写基于V4L2接口的测试程序,使之能满足基本采集需求->测试程序camera.c;

    应用:" arm-linux-gcc camera.c -o camera ",插上USB摄像头至开发板显示驱动连接信息,运行执行文件" ./camera ",即可捕获采集的图像

    二. V4L2图像编程接口基础设计

      1.摄像头软件驱动构架

      摄像头采集系统由上图所示,硬件(摄像头) ->摄像头 驱动 -> V4L2接口规范 -> 图像采集将不同类型的摄像头设备统一按照V4L2的接口规范进行图像采集!!

      V4L2接口设计构架图:

      由上图可看出,内核空间中帧缓冲存储着摄像头驱动所采集的图像信息,用户空间的应用程序需要获取采集到的的图像,则需要对帧缓存进行一下处理:

     取出帧缓冲(出队列) -> 读取帧缓冲中数据 -> 放回帧缓冲(入队列)

      2. V4L2摄像头编程模型

    步骤1~3  :为图像参数的基本配置

    步骤4~7  :为帧缓冲的处理工作,必须内核的帧缓冲映射到用户空间,方可获取图像信息;

    步骤8~11:为采集图像流程,通过对帧缓冲进行取出 -> 读取 -> 放回,实现对图像的采集;--->>>此步骤可按照应用要求设计

     

  • 相关阅读:
    匿名函数
    内置函数
    基础函数--3
    基础函数(2)
    基础函数(1)
    文件的相关操作
    知识点补充,set集合,深浅copy
    is 和 ==的区别
    Django-form组件中过滤当前用户信息
    Django的常用模块引入整理
  • 原文地址:https://www.cnblogs.com/hjh-666/p/11218534.html
Copyright © 2020-2023  润新知