ISP图像处理Pipeline

参考:1. 键盘摄影(七)——深入理解图像信号处理器 ISP2. Understanding ISP Pipeline3. ISP图像处理流程介绍4. ISP系统综述5. ISP(图像信号处理)之——图像处理概述6. ISP 框架7. ISP(图像信号处理)算法概述、工作原理、架构、处理流程8. ISP全流程简介9. ISP流程介绍(Raw格式阶段)

ISP Pipeline流程如下:

image

ISP处于整个成像系统的中心地位。

image

ISP功能

器件控制

  • 控制Sensor的Shutter(快门)、Gain(增益)
  • 控制镜头变焦、聚焦
  • 控控制镜头的光圈
  • 控制滤光片的切换
  • 补光灯控制

格式转换

  • RAG转RGB
  • RGB转YUV
  • YUV转HSI
  • YUV444转YUV420等

画质优化

  • 原始图像修正(光通量不均匀、有畸变)
  • 颜色管理
  • 降噪
  • 动态范围控制
  • 清晰度、锐度提升
  • 后处理
  • 数字去抖
    下面左图是没有画质优化的,右图是经过ISP画质优化的。

image

ISP算法流程image

  • Horizontal Flip:做水平翻转

  • Test Pattern:ISP内部产生测试图像,ISP内部调试使用

  • Black Level Correction:黑电平矫正,黑电平是指图像数据为0时对应的信号电平,进行黑电平矫正的目的;一是由于sensor本身会存在暗电流,导致在没有光照进来的条件下pixel也有电压输出,不过这部分一般在sensor端就已经处理掉了,还有一个原因是因为sensor进行模数转换时精度不够,以8bit为例,每个pixel有效范围是0-255,sensor可能无法将接近于0的信息转化出来,由于人眼特性(对暗处细节比较敏感,)所以sensor厂商一般在转换时会加一个固定的偏移量使像素输出在5(非固定值)—255之间,然后传输在ISP端再做一个减法,将5(非固定值)变为0

  • Bad Pixel Correction:坏点消除

  • Lens Shadow Correction:镜头阴影矫正(镜头缺陷、光通量不均匀)

  • AF Statistics in Raw:AF统计信息

  • CFA Interpolation:去马赛克,将RAW转成RGB

  • D65 White Balance:做标定,使得在D65下面,使得白色的物体呈现白色

  • AWB Statistics:做完D65 White Balance后可以做AWB 统计信息

  • AWB:AWB算法根据色温值做白平衡矫正

  • CCM:3×3的颜色矩阵,目的是让成像系统颜色符合人眼睛看到的颜色。AWB已经将白色校准了,CCM就是用来校准白色除白色以外其他颜色的准确度的,用一个3X3的CCM矩阵来校准, 其中每一列系数r1+g1+b1等于一个恒定值1。Ccm矫正最终结果可以通过拍摄24色卡图片然后用imatest分析来做分析参考

  • Gamma:Gamma矫正,原因是人眼睛的非线性特性,亮度发生变化时,人眼感受到的不是成倍的关系

  • CSC:RGB到YUV色彩空间转换

  • AE Statistics:AE统计信息

  • 2DNR:空间域降噪

  • 3DNR:时间域降噪

  • AF Statistics in YUV:AF 统计信息

  • Local Tone Mapping:图像每一个局部区域都足够清晰

  • Sharpness:锐化让图像变得更清晰

  • WDR:宽动态算法让图像的动态范围变得更大

  • Post-Process:后处理

  • LDC:镜头畸变矫正

  • De-shaking:防抖

下期将逐模块详细介绍各个模块的功能,加油↖(ω)↗

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/142034.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何保护电动汽车充电站免受网络攻击

根据国际能源署 (IEA) 的一份报告,如今,全球销售的汽车中约有七分之一是电动汽车。虽然这对环境来说是个好消息——有可能使占总碳排放量16% 的道路交通脱碳——但这也带来了针对电动汽车充电站的网络攻击日益严重的威胁。 电动汽车充电站、数据流网络和…

LLM大语言模型(典型ChatGPT)入门指南

文章目录 一、基础概念学习篇1.1 langchain视频学习笔记1.2 Finetune LLM视频学习笔记 二、实践篇2.1 预先下载模型:2.2 LangChain2.3 Colab demo2.3 text-generation-webui 三、国内项目实践langchain-chatchat 一、基础概念学习篇 1.1 langchain视频学习笔记 lan…

Day29力扣打卡

打卡记录 美丽塔 II(前后缀分解 单调栈) 链接 大佬的题解 class Solution:def maximumSumOfHeights(self, a: List[int]) -> int:n len(a)suf [0] * (n 1)st [n] # 哨兵s 0for i in range(n - 1, -1, -1):x a[i]while len(st) > 1 and …

【Liunx】DHCP服务

【Liunx】DHCP服务 DHCP概述A.安装dhcpB.查看配置文件C.修改配置文件 DHCP概述 DHCP(Dynamic Host Configuration Protocol)i动态主机配置协议 DHCP是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。 口使用DHCP服务的…

Ps:通过显示大小了解图像的打印尺寸

在 Photoshop 中,如果想了解文档窗口中的图像打印出来之后的实质大小,只要知道两个数值即可。 第一个数值是图像分辨率(也称“文档分辨率”)的大小,可在Ps菜单:图像/图像大小 Image Size对话框中查询或设置…

cocosCreator 之内存管理和释放

版本: 3.4.0 语言: TypeScript 环境: Mac 回顾 前面有两篇博客说明了: cocosCreator 之 resources动态加载、预加载 讲述了静态引用资源,动态加载和预加载相关cocosCreator 之 Bundle 讲述了AssetManager关于对内置…

计算机毕业设计 基于SpringBoot的失踪人员信息发布与管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

芸鹰蓬飞:抖音投流以后还有自然流量吗?

随着抖音平台的普及,企业和个人纷纷加入到这个短视频的热潮中。然而,一旦投入抖音投流,是否还能依赖自然流量?这是许多用户和品牌关心的问题。本文将深入剖析这一话题,探讨抖音投流与自然流量之间的关系。 一、抖音投…

微信小程序授权登陆 getUserProfile

目录 前言 步骤: 示例代码: 获取用户信息的接口变化历史: 注意事项: 前言 在微信小程序中,你可以使用 getUserProfile 接口来获取用户的个人信息,并进行授权登录。以下是使用 getUserProfile 的步骤: 小程序发了…

RFID工业识别产品类型有哪些?

RFID工业识别产品的种类有很多,包括RFID读写器、RFID手持机、RFID读码器、RFID天线等设备,不同的设备在不同的场景上各有应用,下面我们就一起来了解一下。 RFID工业识别产品类型 1、 RFID读写器 RFID读写器是一种用于读取和写入RFID标签数据的…

YOLOv5算法进阶改进(3)— 引入深度可分离卷积C3模块 | 轻量化网络

前言:Hello大家好,我是小哥谈。深度可分离卷积是一种卷积神经网络中的卷积操作,它可以将标准卷积分解为两个较小的卷积操作:深度卷积和逐点卷积。深度卷积是在每个输入通道上分别执行卷积,而逐点卷积是在所有通道上执行卷积。这种分解可以大大减少计算量和参数数量,从而提…

SpringCloud Alibaba(上):注册中心-nacos、负载均衡-ribbon、远程调用-feign

Nacos 概念:Nacos是阿里巴巴推出的一款新开源项目,它是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos致力于帮助用户发现、配置和管理微服务,它提供了一组简单易用的特性集,包括动态服务发现、服务配置…

人工智能与光伏发电:携手共创智能能源未来

人工智能与光伏发电:携手共创智能能源未来 摘要:本文将探讨人工智能与光伏发电技术的结合,并分析它们如何共同推动智能能源领域的发展。本文将介绍这两项技术的基本原理、结合方式以及通过人工智能提升光伏发电系统的效率和可靠性。 一、引…

解决Mac配置maven环境后,关闭终端后环境失效的问题(适用于所有终端关闭后环境失效的问题)

目录 问题的原因 解决方式一、每次打开终端时输入:"source ~/.bash_profile",这个方式比较繁琐 解决方式二、我们终端输入"vim ~/.zshrc"打开".zshrc"文件 1、我们输入以下代码: 2、首先需要按 " i…

MyBatis-Plus 系列

目录: 一、 Spring Boot 整合 MyBatis Plus 二、MyBatisPlus 多数据源配置 三、MybatisPlus —注解汇总 四、MyBatis Plus—CRUD 接口 五、MyBatis-Plus 条件构造器 MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new w…

61基于matlab的GWO算法的参数工具箱,图形界面,目标函数的默认名称为CostFunction。

基于matlab的GWO算法的参数工具箱,图形界面,目标函数的默认名称为CostFunction。如果您查看了CostFunction.m文件,成本函数获取向量([x1 x2…xn])中的变量并返回目标值。可以在该文件中编写目标函数,也可以…

2023.11.11通过html内置“required-star“添加一个红色的星号来表示必填项

2023.11.11通过html内置"required-star"添加一个红色的星号来表示必填项 在HTML中&#xff0c;可以使用标签来为元素添加说明。同时可以通过添加一个红色的星号来表示必填项。 <!DOCTYPE html> <html lang"en"> <head><meta charse…

OpenGL的学习之路-3

前面1、2介绍的都是glut编程 下面就进行opengl正是部分啦。 1.绘制点 #include <iostream> #include <GL/gl.h> #include <GL/glu.h> #include <GL/glut.h>void myMainWinDraw();int main(int argc,char** argv) {glutInit(&argc,argv);glutIni…

【第2章 Node.js基础】2.4 Node.js 全局对象(二)之,process 对象

process 对象 process对象是一个全局对象&#xff0c;提供当前Node.js 进程信息并对其进行控制。通常用于编写本地命令行程序。 1.进程事件 process对象是EventEmitter类的实例&#xff0c;因此可以使用事件的方式来处理和监听process对象的各种事件。以下是一些常用的proce…

观察者模式-C++

观察者模式&#xff08;Observer&#xff09;是一种行为型设计模式&#xff0c;它用于在对象之间建立一对多的依赖关系&#xff0c;当一个对象发生改变时&#xff0c;所有依赖它的对象都会收到通知进行相应的改变。 观察者模式中有两种核心角色&#xff1a; 观察者&#xff0…