资讯

Linux下安装支持H.264的FFmpeg-5.0

关于FFmpeg FFmpeg是开源的多媒体处理工具,能够解码、编码、 转码、复用、解复用、流式传输、过滤和播放视频和音频文件,支持Windows、Mac、Linux等平台。 X264是一个开源的、能够产生符合H.264标准的码流的编码器,在Linux下编译带x264的FFmpeg需要yasm库依赖,因为x264源码中一些程序是汇编编写的,这里使用开源的yasm汇编编译器。 安装yasm 解压:tar zxvf yasm-1.3.0.tar.gz 切换路径: cd yasm-1.3.0 执行配置:./configure 编译:make 安装:make install tar zxvf yasm-1.3.0.tar.gz cd yasm-1.3.0 ./configure make make install   安装X264 安装FFmpeg 解压:tar -zxvf ffmpeg-5.0.tar.gz 切换路径: cd ffmpeg-5.0 执行配置:./configure 编译安装:make && make install wget https://www.ffmpeg.org/releases/ffmpeg-5.0.tar.gz tar -zxvf ffmpeg-5.0.tar.gz cd ffmpeg-5.0 ./configure --prefix=/usr/local/ffmpeg make && make install 配置环境变量: vi /etc/profile 在最后PATH添加环境变量: export PATH=$PATH:/usr/local/ffmpeg/bin 设置生效: source /etc/profile 执行FFmpeg测试 ~ffmpeg 显示enable-libx264表示已加载X264库 configuration: --prefix=/usr/ --enable-shared --enable-libx264 --enable-gpl --enable-libfdk-aac --enable-nonfree --enable-libx265 --disable-ffplay --disable-ffprobe libavutil
资讯

ESP32开发之USB摄像头方案

ESP32简介 ESP32是由乐鑫科技(Espressif Systems)开发的一种低功耗的单片机微控制器,是ESP8266单片机微控制器的后继升级版本。内置Wi-Fi/蓝牙模块、丰富的外设和接口,如通用串行总线(UART)、SPI(串行外设接口)、I2C(串行总线)、ADC(模数转换器)和PWM(脉宽调制)等,还支持多种开发框架和编程语言,包括Arduino、MicroPython和FreeRTOS等,使开发人员能够根据喜好和需求选择适合的开发环境;使其成为物联网(IoT)和嵌入式应用开发的理想选择。 USB摄像头的选型要求 支持标准UVC协议、内置MJPG压缩格式(如果摄像头不支持输出JPEG格式则需要ESP设备来执行压缩、输出JPEG数据,对CPU和内存造成压力)。 如果需求硬件上带补光,可以选择下方带补光灯及光敏感应功能的摄像头,单补光灯时调用图像补光灯即亮,补光灯+光敏则由光敏感应环境亮度自动调节补光灯亮度,越黑越亮。该产品5V供电,功耗仅≈62mA,适用物联网项目。 USB摄像头硬件接线 目前ESP32-S2、ESP32-S3系列都支持USB OTG,可以直接使用USB摄像头模组,通用接口,即插即用。 亦可直接接线:VBUS使用5V电源,也可使用GPIO控制VBUS-ON/OFF。芯片指定管脚为GPIO19(D-)和 GPIO20(D+),摄像头的引脚(D-,一般为白线)接GPIO19,摄像头的引脚(D+,一般为绿线)接GPIO20。 USB摄像头软件设计参考 ESP-IDF中文指导手册及GitHub: (添加微信好友获取密码)
资讯

什么是宽动态(HDR)技术?

宽动态的定义 宽动态缩写为HDR,英文是High Dynamic Range(高动态范围)。在早期的CCD时代,也称为WDR,英文是wide dynamic range(宽动态范围)。HDR和WDR都是同一种技术称呼;现在的显示器领域、手机屏幕、摄影摄像、安防行业等都已称之为HDR。宽动态技术(HDR)是比普通图像技术拥有更大曝光动态范围(即更大的明暗差别)的技术;在成像拍摄时对明暗对比强烈的场景有更高的识别能力。 当在强光源(日光、灯具或反光等)照射下的高亮度区域及阴影、逆光等相对亮度较低的区域在图像中同时存在时,常规摄像机输出的图像会出现明亮区域因曝光过度成为白色,而黑暗区域因曝光不足成为黑色,严重影响图像质量。摄像机在同一场景中对最亮区域及较暗区域的表现是存在局限的,这种局限就是我们所讲的“动态范围”。 宽动态比值公式 宽动态范围是图像能分辨最亮的亮度信号值与能分辨的最暗的亮光信号值的比值,这个值越高,代表能力越强;通常用“dB”表示,比值公式是: 示例: 宽动态与背光补偿的区别 背光补偿,也称为逆光补偿,是把画面分成不同区域分别曝光。当引入逆光补偿时,摄像机仅对整个视场的一个子区域进行检测,通过求此区域的平均信号电平来确定AGC电路的工作点。 背光补偿解决的问题是因为背景光线过强导致的监控目标光线过暗,看不清的问题。开启背光补偿以后,前景中的目标物体能看清,而之前明亮区域将被过度曝光。ANEAK为您一图展示效果比较: 宽动态技术效果的实现方式 1、使用带有宽动态功能的sensor(Sensor Build-In WDR),同一时间抓拍多幅画面(明暗不同效果的),多帧画面叠加呈现;称之为真实宽动态(true-WDR)或称物理宽动态(硬宽动态)。 2、与硬宽动态对应的,还有一种称之为软宽动态;它是基于DSP处理器的宽动态增强,目前市面上部分处理器都可以做到(例如模拟高清摄像机使用的ISP),因为各厂家技术积累不一,所呈现的宽动态效果也可能不尽相同;这种由软件实现的宽动态称之数字宽动态(digital-WDR/dWDR),主要是提升硬件宽动态的不足,用于较低数值的硬件+软件结合,以低成本达到与高成本的高数值的硬件宽动态接近的效果,用于降本增效。    
资讯

图像传感器中的CMOS和CCD

什么是图像传感器? 图像传感器是将光学影像转换成电子信号的设备,广泛应用在数码相机等电子光学设备中。主要分为CMOS(互补式金属氧化物半导体有源像素传感器)和CCD(感光耦合器件)这两种图像传感器。 图像传感器发展历程概述 CMOS图像传感器 CMOS是互补式金属氧化物半导体的缩写,英语全称为Complementary Metal Oxide Semiconductor,是一种集成电路设计工艺,CMOS图像传感器(简称CIS,全称为CMOS Image Sensor),是采用CMOS技术制作的图像传感器,通常由像敏单元阵列、行驱动器、列驱动器、时序控制逻辑、AD转换器、数据总线输出接口、控制接口等几部分组成,这几部分通常都被集成在同一块硅片上。它还可集成其他数字信号处理电路,如自动曝光量控制、白平衡处理、伽玛校正、黑电平控制、非均匀补偿等;将具有可编程功能的DSP器件与CMOS器件集成在一起,就组成了图像处理系统。 CMOS图像传感器的工作原理及流程 CMOS图像传感器的工作流程主要分为以下三步: 第一步:外界光照射像素阵列,发生光电效应,在像素单元内产生相应的电荷。 景物通过成像透镜聚焦到图像传感器阵列上,而图像传感器阵列是一个二维的像素阵列,每一个像素上都包括一个光敏二极管,每个像素中的光敏二极管将其阵列表面的光强转换为电信号。 第二步:通过行选择电路和列选择电路选取希望操作的像素,并将像素上的电信号读取出来。 在选通过程中,行选择逻辑单元可以对像素阵列逐行扫描也可隔行扫描,列同理。行选择逻辑单元与列选择逻辑单元配合使用可以实现图像的窗口提取功能。 第三步:把相应的像素单元进行信号处理。 行像素单元内的图像信号通过各自所在列的信号总线,传输到对应的模拟信号处理单元以及A/D转换器,转换成数字图像信号输出。其中,模拟信号处理单元的主要功能是对信号进行放大处理,并且提高信噪比。像素电信号放大后送相关双采样CDS电路处理,相关双采样是高质量器件用来消除一些干扰的重要方法。其基本原理是由图像传感器引出两路输出,一路为实时信号,另外一路为参考信号,通过两路信号的差分去掉相同或相关的干扰信号。这种方法可以减少KTC噪声、复位噪声和固定模式噪声FPN(FixedPatternNoise),同时也可以降低1/f噪声,提高了信噪比。此外,它还可以完成信号积分、放大、采样、保持等功能。然后信号输出到模拟/数字转换器上变换成数字信号输出。 CCD图像传感器 CCD是感光耦合器件的缩写,英语全称是harge coupled device,是另一种集成电路设计工艺;于1969年在美国贝尔试验室的科学家威拉德·博伊尔(WillardS. Boyle)和乔治•史密斯(George Smith)设计并创造,于1971年他们采用简单线性设备捕捉到图像,由此诞生CCD并于20世纪末飞速发展。 CCD图像传感器体系有全幅FF(Full-Frame)、帧传输FT(Frame-Transfer)、行间传输IT(Interline-Transfer)三种架构。CCD又可分为线型 (Linear) 与面型 (Area) 两种,其中线型应用于影像扫瞄器及传真机上,而面型主要应用于数码相机、摄录影机、监视摄影机等影像产品上。 CCD图像传感器的工作原理及流程 CCD传感器由许多个类似电容的感光元件排成一行或多行,并与信号处理电路连接在一起。当光线照射到感光元件时,产生的电荷量与光线强度成正比,接着被送入输出端信号线路,经过AD转换被转化为数字信号。由于CCD慢慢成为过去式,ANEAK在这里不再过多阐述。 CIS取代CCD成为主流 首先由于CIS制作工艺与计算机芯片和存储设备等半导体集成电路相同,工艺简单;而CCD制作工艺复杂,仅有少数厂家能够生产CCD晶元;同性能下CCD成本较高。其次是集成,CCD仅能输出模拟电信号,需要增加后续的地址译码器、模拟转换器、图像信号处理器,并且需要提供三组不同电压的电源同步时钟控制电路,因此集成度极低;而CIS采用集成电路的设计工艺,能够将所有模块集成在一块芯片上,集成度很高。最后,CIS与CCD相比具有较高的读出速率和更低的功耗,更适用于手机、数码相机等小形便携式设备。 进入21世纪后,由于CMOS工艺制程技术的飞速发展,CIS的性能逐渐达到并超越CCD; CIS低成本、小体积、高速率和低功耗的特点,成为图像传感器消费市场的主流。
资讯

什么是USB摄像头模块

USB摄像头模块的组成 USB摄像头模组是由镜头(Lens)、图像传感器(Sensor)、主控制器(DSP)、存储器等电子元件集成的电路板模块,通过USB接口连接到计算机或其他设备,具有即插即用的功能,无需额外安装驱动程序或软件即可使用。USB摄像头模组属于相机的一种,具有静态图像捕捉、视频摄影、压缩数据等基本功能,部分产品具有自动对焦、抗逆光、低照度等图片处理的高级功能,还可集成麦克风、补光灯等辅助功能以提升产品能力;网络摄像机(webcam)的核心组件就是摄像头模组。 工作原理 景物通过USB摄像头模块的镜头(lens)投射到图像传感器(sensor),然后转为数字图像信号,再经控制器(DSP)加工处理将影像还原并加入UVC协议支持后,经过数据传输至系统经由软件打开后即可看到所拍摄内容。 图像传感器的选择 图像传感器(sensor)也就是感光芯片,有COMS和CCD两种类型,目前USB摄像头模组行业主要采用COMS传感器,相对于CCD,它的优点是成本低集成度高,可以做得非常小;非常省电,是CCD传感器的1/3左右,3.3V的电源即可驱动(为适应主流USB接口通常使用5V电压)。缺点是通透性、色彩还原性能较弱,电流抑制不好则易形图像噪音(噪点);目前通过自动亮度、白平衡控制技术,色饱和度、对比度、边缘增强以及伽马矫正等影像控制技术效果已媲美甚至超越CCD。 图像传输方式 USB摄像头模块目前传输格式主要有MJPG(图像压缩)和YUY2(无压缩视频帧)两种格式,好的摄像头模组通常都内置有这两种格式的多种4:3或16:9的分辨率供调用。
资讯

UVC协议介绍

什么是UVC协议? UVC的全称为:USB video device class 缩写为USB Video Class或UVC,翻译即为USB视频类,支持UVC协议的影像设备不需要安装任何的驱动程式即可随插即用,如摄像头、数码相机、类比影像转换器、电视棒及静态影像相机等设备;USB摄像头即(网络摄像头Webcam)是第一个支持UVC标准并且是使用量最大的UVC设备, UVC协议的由来 UVC协议是早期微软(Microsoft)与另外几家主要设备厂商联合推出的为USB视频捕获设备定义的协议标准,目前是USB org标准之一;USB摄像头即为标准的视频捕获设备啦。 支持的系统平台 Windows:自Windows XP SP2之后的版本都支持。 苹果Mac:Mac OS X的10.4.3版本起加入UVC driver。 Linux:自Linux2.46之后增加了大量驱动到内核中,支持了UVC设备。 PS3游戏主机:PlayStation 3在1.54版本开始支持UVC兼容。 基于Linux内核的其它开源系统:如树莓派(Raspbian OS)、乌班图(Ubuntu)等,均使用Linux内核中的V4L2(Video for linux 2)来驱动USB摄像头。