海思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实现线程的本地内存(变量副本)的时候&…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...

论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...