采用FPGA开发高清相机sensorISP芯片要点分析
总体
Sensor采样过来的RAW视频信号经过Gamma校正,颜色插值,恢复出RGB三分量RGB,RGB进入后处理(主要包括颜色校正,RGB转YCbCr,白平衡校正)转为Ycbcr后给SDI信号生成模块输出标准SDI信号,同时RGB分量进入直方图计算RB分量的增益补偿,矩阵处理输出的Y分量进入直方图计算曝光时间,光圈,增益,然后通过I2C和GPIO调整Sensor和光圈,滤光片。
坏点及噪点去除
Sensor某些采样点由于点阵坏掉或者采样错误会造成亮点或黑点,需要检测这些点,并用正常值替换这些坏点的值。Sensor采样出来的像素值由于光线和放大器增益、AD采样等影响,会导致图像出现明暗变化的噪点,严重影响图像质量。通过一定的滤波器如中值滤波等,可以达到去噪实现图像平滑。
白平衡
在不同的场景下,由于光照度不同,会导致色表(颜色对应的RGB值表)不同,即不同场景,某些色彩会偏掉,如白色物体在低光照下会偏红,而在强光照会偏蓝。为补偿这种不平衡,使得白色物体在任何光照下都为白色,需要对RGB三个通道的增益进行均衡。自动白平衡通过计算亮点区域RGB三色均值,以G色均值为标准,RB分量均值与G分量均值相等计算所需增益,对RB分量进行补偿。
颜色插值
由于sensor扫描的每一个像素点只有一个颜色分量(RGB中的某一个),因此,为得到一个像素点的3个分量,需要对图像数据进行插值滤波处理,已得到每个像素点RGB三分量。
伽马校正
CRT等显示设备具有非线性,即会造成实际显示的灰度和原始图像的灰度值是有差异的。因此,为了让显示设备显示结果和原始图像实际灰度一致,在传输给显示设备的时候需要预先对图像做校正,经过显示设备后,显示的图像灰度和原始图像的灰度是一样的。
自动曝光
不同场景下光照度不一样,根据不同场景的光照度,调整曝光时间。
WDR功能
宽动态实现是通过对图像处理达到灰度的均衡分布,实现图像亮度值较大区域和亮度值较小区域的图像都能够较为清晰的显现出来,图像对比度得到提高。
采用FPGA开发高清相机sensorISP芯片要点分析相关推荐
- FPGA之道——FPGA开发流程之项目方案与FPGA设计方案
文章目录 前言 FPGA开发流程 背景知识的分析与研究 项目方案的设计与制定 写清楚项目背景 写清楚项目需求 写清楚方案框架 写清楚算法细节 确保逻辑完备性 确保实现无关性 确保书面易懂性 算法可行性 ...
- 使用 FPGA 开发板采用 Verilog 编程练习基于 VGA 图像显示
目录 一.VGA 简介 二.实验内容 2.1 Quartus 新建工程 2.2 新建 Verilog 文件 2.3 配置管脚 2.4 DE2-115 开发板连接 2.5 烧录程序 三.总结 四.参考资 ...
- 【CSS】固定定位示例 ( 屏幕左右两侧广告栏 | 开发要点分析 | 代码示例 )
文章目录 一.开发要点分析 二.代码示例 一.开发要点分析 实现下图样式 : 中间部分是网页内容 , 左右两侧是 固定广告栏 , 不管浏览器如何滚动 , 缩放 , 该左右两侧广告栏不变 ; 标签结构分 ...
- FPGA的设计艺术(2)FPGA开发流程
前言 注:本文首发易百纳技术社区,文章链接:FPGA的设计艺术(2)FPGA开发流程 本文介绍整个FPGA设计流程以及设计FPGA所需的各个步骤-从一开始到可以将设计下载到FPGA的阶段.但是在此之前 ...
- FPGA在各行业的应用分析
FPGA(Field Programmable Gate Array)于1985年由xilinx创始人之一Ross Freeman发明,虽然有其他公司宣称自己最先发明可编程逻辑器件PLD,但是真正意义 ...
- FPGA开发全攻略——概念篇
原文链接: FPGA开发全攻略连载之一:FPGA为什么这么热? FPGA开发全攻略连载之二:为什么工程师要掌握FPGA开发知识? FPGA开发全攻略连载之三:FPGA基本知识与发展趋势(part1) ...
- FPGA开发全攻略——ISE基本操作
原文链接: FPGA实战开发技巧(2) FPGA开发全攻略连载之十二:FPGA实战开发技巧(3) FPGA开发全攻略连载之十二:FPGA实战开发技巧(4) 5.2 如何进行FPGA设计早期系统规划 作 ...
- FPGA开发设计必经之路:时序分析
转载自:微信公众号:FPGA之家 时序分析是FPGA设计中永恒的话题,也是FPGA开发人员设计进阶的必由之路.慢慢来,先介绍时序分析中的一些基本概念. 时钟的时序特性主要分为抖动(Jitter).偏移 ...
- 【正点原子FPGA连载】 第二十章 LCD触摸屏实验摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0
1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...
最新文章
- Redis源码解析——字典结构
- Effective C++:条款33:避免遮掩继承而来的名称
- atitit..主流 浏览器 js 发动机 内核 市场份额 attialx总结vOa9
- oracle解密des乱码,Oracle中des等算法的加解密
- PHP 年龄计算函数
- 2021-03-09 PPT字号设置规则和图片网站(from 旁门左道)
- UDT协议实现分析——UDT Socket的创建
- 打独立运行包遇到无法trim咋解决
- MySQL优化从执行计划开始(explain超详细)
- 查看python安装位置图_python安装路径怎么找
- ubuntu 13.10 64位安装及配置 google拼音输入法及Adobe flash player、mp3 插件安装、中文GBK编码等 -转
- concurrenthashmap为什么是线程安全_为什么 StringBuilder 不是线程安全的?
- 用Python简单的实现AM调制信号波形的变化
- python实现报表的分组统计_Python 分组处理
- OTA再升级, 汽车云诊断风口将至,艾拉比早已“量产上车”
- 牛小刚的Spring自学笔记之搭建环境
- AR红包Android端实现原理
- 什么是软链接, 什么是硬链接
- ibm服务器x3650m4引导,IBM X3650 M4安装win 2008 Server操作指南
- Unity for Windows: II – Publishing Unity games to Windows Store
热门文章
- 运营经验|怎么把app运营好
- 2018年「编码美丽」公众号精华帖总结,建议收藏(文末赠书)!
- 用java编写球体的体积,编写一个程序,提示用户输入球体的半径并打印其体积...
- Python,折线图,手写数字,图像反色、二值化、28X28
- [BZOJ 1135][POI2009]Lyz
- LikeLib:区块链+云计算的结合技术现在成熟了吗?
- HBASE学习使用经验
- TypeError: ctor is not a constructor报错
- 清华大学计算机相关夏令营,清华大学计算机系举办2014年信息学夏令营
- Linux系统轻量级监控工具Linux dash的安装方法