海思35XX系列(三)sensor(传感器)
刚开始接触这个概念的时候感觉比较模糊,简单记录一下吧
Sensor(传感器)是一种可以感知外部环境并将感知到的信息转化为可用的电信号或其他形式的工具。传感器广泛应用于电子设备、工业自动化、汽车、医疗器械等领域,用于测量、监测和控制各种物理量和环境参数。
作为摄像头模组最重要的一部分,sensor在摄像头模组及相关行业,提到“Sensor”这个词,一般代指图像传感器。目前,除了一些特殊领域,CMOS图像传感器占据绝大部分市场。
一、图像传感器发展历史
- 1887年,德国物理学家海因里希·赫兹在实验中意外发现光电效应。这一发现为图像传感技术的发展奠定了基础。
- 20世纪30年代光电倍增管(Photomultiplier Tube,简称PMT)出现;
- 1965年-1970年:在这一时期,IBM、Fairchild等企业开始积极开发光电以及双极二极管阵列技术。
- 1971年,美国贝尔实验室的研究员已经能够用简单的线性设备捕捉影像,标志着CCD的诞生。电荷耦合元件(CCD)的崛起(20世纪60年代末至90年代末)
-
互补金属氧化物半导体(CMOS)的兴起(20世纪末至今)

二、CMOS图像传感器
海思开发中的 sensor 多数时候都是CMOS
CMOS图像传感器是一种基于互补金属氧化物半导体(CMOS)技术的图像传感器。它是一种将光信号转换为电信号的器件,可用于数字相机、摄像机、手机摄像头等设备中。
与传统的CCD(Charge-Coupled Device)图像传感器相比,CMOS图像传感器具有较低的功耗、较低的成本和较高的集成度。它的工艺制造简单,可以与数字逻辑电路在同一芯片上实现集成,从而提供更多的功能和灵活性。
CMOS图像传感器还具有快速响应、高帧率、高动态范围和低噪声等特点。

在图像处理的流程中
光经过lens(镜头)后聚集到Sensor上,sensor进行模拟的光信号转化为模拟的电信号再转化为数字的电信号
像AE(自动曝光)也是通过ISP反馈控制sensor来调节的
那么 sensor 是怎么捕捉彩色图像的呢,其中离不开的一项关键技术就是 拜尔阵列
三、拜尔阵列
bayer格式图片是伊士曼·柯达公司科学家Bryce Bayer发明的,Bryce Bayer所发明的拜耳阵列被广泛运用数字图像。
拜尔阵列(Bayer Array)是一种用于数字摄影相机和图像传感器的颜色滤波阵列(CFA)。它采用了一种特定的颜色排列方式,将红色、绿色和蓝色滤光片以阵列形式分布在像素上。
在很早之前人们使用的都是黑白图像传感器,但是人们不满足于只捕捉光的强度来生成灰度图像。要更进一步实现彩色的捕捉,由于光可以分解为红、绿、蓝三元色,所以只需要分别捕捉这三种色彩就够了,但是如果要采集rgb三个基本色,则需要三块滤镜,这样价格昂贵,且不好制造,因为三块滤镜都必须保证每一个像素点都对齐;于是为了解决这个问题拜尔阵列就出现了。
- 在图像传感器前面,设置一个滤光层(Color filter array),上面布满了一个个滤光点,与下层的像素一一对应。每个滤光点只能通过红、绿、蓝之中的一种颜色,这意味着在它下层的像素点只可能有三种颜色:红、绿、蓝,或者什么也没有(黑)。
- 不同颜色的滤光点的排列是有规律的:bayer色彩滤波阵列,由一半的G,1/4的R,1/4的B组成,绿点的数量是其他两种颜色点的两倍。这是因为研究显示人眼对绿色最敏感,所以滤光层的绿点最多。(我们最终还原色彩的目标就是不断的接近人眼看到的色彩)

每个像素对应点都加上捕捉到的颜色后就会这样,因为每个像素点记录的颜色的值都是有大小的,所以还原后色彩看着 还是比较明显的

去马赛克处理
去马赛克处理主要涉及到对马赛克区域像素值的恢复和重建。旨在恢复被模糊或替换的原始图像细节。前面不是说了吗,拜尔阵列在一个像素点的位置只记录了红绿蓝中的一种颜色,去马赛克处理就是通过各种计算去推测这个像素点的另外两种颜色的值。
下面是拜尔阵列色彩的排列

我们可以把这一层拆分成三层,由于我们记录色彩信息只用了一层,拆分开来每个像素点肯定会缺失了两种颜色;去马赛克就是通过后处理将像素点的另外两种颜色补全。

以一个3×3的矩阵为例,最中间的像素的蓝色值和红色值完全可以根据相邻像素点的值去推测,或者是5×5更多,离得近的比重就占的大一点,远的像素点比重就占的少一点。

将三个通道补全叠加就可以还原图像的色彩了。


当然还会有很多其他的后处理技术,最后经过各种处理之后才和眼睛看到的实际色彩相近。
当然,我们眼睛的精度也有限制,不可能个个都是最强大脑;一般来讲图像最后处理完我们眼睛区分不出来了 ,达到我们人眼要求的精度了,我们就认为它还原了原本色彩。实际还会有很多色彩信息的缺失。
参考文章
(记录的挺详细了)
图像传感器原理介绍(史上最详细的CCD和CMOS介绍)_微视界 (microdemo.com)
https://www.microdemo.com/technical-data/1267/#p1图像bayer格式介绍_拜耳格式-CSDN博客
https://blog.csdn.net/bingqingsuimeng/article/details/61917513ISP(图像信号处理)之Bayer Raw 简介_乐正倩彦-开放原子开发者工作坊 (csdn.net)
https://openatomworkshop.csdn.net/6645b45db12a9d168eb6d72f.html
“Sensor”的名词解释与概述_sensor有效区-CSDN博客
https://blog.csdn.net/qq_37692302/article/details/125640788ISP(二) Demosiac 去马赛克 (CIP)_demosac 马赛克算法-CSDN博客
https://blog.csdn.net/qq_24965393/article/details/101542220
相关文章:
海思35XX系列(三)sensor(传感器)
刚开始接触这个概念的时候感觉比较模糊,简单记录一下吧 Sensor(传感器)是一种可以感知外部环境并将感知到的信息转化为可用的电信号或其他形式的工具。传感器广泛应用于电子设备、工业自动化、汽车、医疗器械等领域,用于测量、监…...
dfs(续做)
1.混境之地5 #include<bits/stdc.h> using namespace std; typedef long long ll; const int dx[4] {0,1,0,-1}; const int dy[4] {1,0,-1,0}; int n,m,k,a,b,c,d,sign0; int h[1010][1010],visit[1010][1010]; void dfs(int x,int y,bool used) {if(xc&&yd){si…...
OpenStack;异构算力网络架构;算力服务与交易技术;服务编排与调度技术
目录 OpenStack 一、OpenStack概述 二、OpenStack的主要组件及功能 三、OpenStack的架构 四、OpenStack的应用场景 异构算力网络架构 算力服务与交易技术 服务编排与调度技术 OpenStack 是一个开源的云计算管理平台项目,由NASA(美国国家航空航天局)和Rackspace合作…...
PLC-Recorder对于数据采集时间戳偏差的修正功能
目录 一、修正原理 二、使用步骤 1、初始状态,计算修正系数 2、启动和使用 3、修正系数的手动修改 三、修正前后的效果对比 1、修正前的时间偏差曲线 2、修正后的效果曲线 四、注意事项 1、控制器可能的时钟波动 2、平移参数评估 3、参数保存 五、关于…...
自定义监控
代码说明: 导入必要的库 import time import psutil import GPUtil from prometheus_client import start_http_server, Summary, Counter, Gaugepsutil:用于获取系统的CPU、内存、磁盘和网络信息。GPUtil:用于获取GPU信息。prometheus_cli…...
关于使用php的mpdf插件遇到的一些问题
一.插件版本 "mpdf/mpdf": "^8.0", 二.报错:Undefined index: list_style_type 这个是插件无法识别 li 标签导致,生成pdf是加入下面代码 <style> li { list-style-type: none; list-style-image: none; list-style-positi…...
电脑截图,颜色变淡的问题解决
解决 Windows 11 在 HDR 模式下截图 Edge 浏览器界面时画面过曝的问题-腾讯云开发者社区-腾讯云 (tencent.com) 主要是浏览器用错了东西,调一下就好,详情看链接 联想拯救者y9000p为例,选择sRGB,就好啦,拜拜喽&#x…...
uniApp跳转外链
创建一个新的页面,在该页面中使用web-view组件加载外部URL:pages/web-view/web-view <template><view><uni-list><uni-list-itemtitle"打开外部链接"click"openExternalLink"></uni-list-item></…...
科技云报道:大模型引领技术浪潮,AI安全治理面临“大考”
科技云报道原创。 从文生文到文生图,再到文生视频,近年来,以ChatGPT、Sora等为代表的大模型引领了全球人工智能技术与产业的新一轮浪潮。2024年更是被业内称为大模型应用爆发元年。 年初,Sora横空出世验证了Scalling Law在视频生…...
SpringSecurity+Mysql数据库实现用户安全登录认证
Spring Security 是一个提供身份认证、授权和防范常见攻击的安全权限框架。无论是对命令式,还是响应式web应用程序都完美支持,现在主要用作保护基于 Spring 框架的应用程序的事实标准。相对于shiro来说,SpringSecurity功能更加复杂而且更加强…...
虚拟网卡添加ip
1.虚拟机网卡添加 1.进入虚拟机设置添加网卡即网络适配器 2.配置文件修改 1.查看网卡是否添加成功 ip ad ifconfig 其中ens161就是我们新添加的设备同时这个ens161也是我们硬件名字 2.进入系统配置文件 cd /etc/sysconfig/network-scripts/#配置文件目录[rootlocalhost ne…...
Unity向量线性插值Lerp
inline glm::vec3 Lerp(glm::vec3 start, glm::vec3 end, float t){t glm::clamp(t, 0.0f, 1.0f);return (start*(1-t)end*t); }...
fatal: Could not read from remote repository. 解决方法
问题描述: Git : fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists。 解决方法: 当在网上尝试大量方法仍然失败的时候,不妨试试这个方法。 在 github 上&…...
postman查询单条数据Get方法,无任何输出,idea后端也没有任何数据和提示的解决方法
问题描述: 正常使用postman测试,输入内容没有错误,但是却没有任何消息 后端也是,没有任何消息: 解决方法: 问题的原因主要是因为postman: 我们只需要新建一个页面,把刚才的查询语…...
query怎么改写,才能实现高质量的知识问答系统
为了实现高质量的知识问答系统,query改写需要综合利用多种技术,确保改写后的查询更具语义性、准确性和完整性。以下是具体的步骤和方法: 1. 同义词和短语替换 步骤: 建立同义词库:使用现有的同义词词典或根据特定领…...
Python实战——轻松实现动态网页爬虫(附详细源码)
大家好,我是东眠的鱼,专注原创,致力于用浅显易懂的语言分享爬虫、数据分析及可视化等干货,希望人人都能学到新知识。<文末附带精品籽料哦,也可以和博主一起学Python呀!> 项目背景 有同学自学爬虫时…...
Python应用—利用opencv实现图像匹配
1.创作需求 我们通常需要从一幅图中找到自己想要的信息,例如从一堆表情中找到,自己需要的表情。 2.创作思路 1.使用模板图片作为卷积核与原图进行卷积运算,得出匹配度超过某一阈值的范围。 2.对该部分进行框选 3.工具 主要使用opencv库实现,通过 cv2.matchTemplate(…...
Excel函数基础(二)
1、单元格名称 框选单元格(不含标题),公式选项卡->定义名称, 或者框选单元格后,在左上角的栏位直接输入要定义的名字,按下enter键即可 这样在使用函数时,数据范围参数可以用定义的名称来替…...
学习大数据DAY30 python基础语法3
目录 上机练习 5 File(文件) 读写 文本文件写 文本文件读 csv 文件写 csv 文件读 异常 自定义异常 上机练习 6 上机练习 5 上机练习5的作业我昨天就写完了,但是因为它是今天的作业,我就今天发咯。 # atm 机模拟器:使用 main 入口&…...
一文弄清Java的四大引用及其两大传递
开场白 Hello大家好呀,我是CodeCodeBond✊最近在复习很多很多的基础知识,有了很多新的感悟~ 话不多说,直接发车✈ 四大引用 问题切入点 在学习 Thread线程利用ThreadLocalMap实现线程的本地内存(变量副本)的时候&…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...
ArcGIS Pro+ArcGIS给你的地图加上北回归线!
今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等,设置经线、纬线都以10间隔显示。 2、需要插入背会归线…...
Appium下载安装配置保姆教程(图文详解)
目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...
EasyRTC音视频实时通话功能在WebRTC与智能硬件整合中的应用与优势
一、WebRTC与智能硬件整合趋势 随着物联网和实时通信需求的爆发式增长,WebRTC作为开源实时通信技术,为浏览器与移动应用提供免插件的音视频通信能力,在智能硬件领域的融合应用已成必然趋势。智能硬件不再局限于单一功能,对实时…...
自定义线程池1.2
自定义线程池 1.2 1. 简介 上次我们实现了 1.1 版本,将线程池中的线程数量交给使用者决定,并且将线程的创建延迟到任务提交的时候,在本文中我们将对这个版本进行如下的优化: 在新建线程时交给线程一个任务。让线程在某种情况下…...
