首页 > 其他分享 >颜色的基本处理

颜色的基本处理

时间:2024-12-10 14:01:49浏览次数:9  
标签:基本 颜色 处理 像素 相机 sRGB 马赛克 图像

       数码相机能够获取彩色图像,但相机的色彩处理是一个非常复杂的过程,是非常重要的。

       此过程生产制造商在细节方面都是不公布的,但是基本的概念是相同的。当相机捕捉一个真实场景时,是怎么还原成人眼所看到的图像呢?

1.RAW----相机获取到的原始图像

       绝大多数的彩色图像传感器使用Bayer模式,Bayer模式颜色传感器是采用红、绿、蓝滤光片。所以每个像素是能够探测到一种颜色,它“看到”的是红色、绿色或蓝色。因为绿色是亮度信息中最重要的颜色, 所有我们对于绿色采用两个像素,蓝色一个,红色一个。

 图1:传感器信号不包含颜色信息,每个像素代表一种颜色。

图2 :上图的细节。每个像素只检测一个颜色。图片仍然是“马赛克”

2.去马赛克

       为了得到每个像素的红色,绿色和蓝色的信息,去马赛克的重要步骤是对丢失的信息进行插值。这关系着图像的质量。因此很多厂商是不会透露在细节上做了什么。不同的滤光片导致对光的灵敏度不同且信号强度较低,因此噪声级别可能会非常不同。在去马赛克的处理过程中,噪声是通过相邻元素之间扩散,不同的颜色通道中噪声是相互关联的。

图3 :一个像素的信息用于相邻像素的颜色信息

图4 :经过去马赛克处理,每个像素都有了一个红、绿、蓝的值,所以原图会变成彩色图片

3.白平衡

       在数码相机中,不同颜色通道的灵敏度是不同的。为了获取符合人眼视觉的正确颜色,相机以不同方式控制不同通道的增益。经过白平衡处理后,图像中的中性区域显现中性,并且数值和红色,绿色及蓝色几乎相同。

图5:调整所有的通道的增益后,图像显现中性

4.颜色校正矩阵(CCM)

       每个相机都有各自的光谱灵敏度。所以每个相机都具有特定的RGB输出。要获得所有相机一致的结果,必须将相机的RGB转换为标准已知的色彩空间,在大多数情况下是sRGB,但可以是任意其它的色彩空间。要把值从RGB_camera转换到sRGB,必须对数据添加一个3 x3的颜色校正矩阵(CCM)。

图6:当CCM矩阵应用后,颜色被转换为已知定义的色彩空间(sRGB)

5.Gamma

       不管图像中是在暗区检查和亮区检查,到目前步骤为止,图像的数据依然是线性的。因此将光强加倍会使图像中的数值加倍。在输出设备中为了得到正确的表现方式,图像通常会应用Gamma功能。这个曲线被用在图像处理的最后阶段,因为从现在起图像的数据就是非线性的,开始接近于人眼所看到的的图像画面。

 

图7:完成后,把RAW图片转换成sRGB图片

标签:基本,颜色,处理,像素,相机,sRGB,马赛克,图像
From: https://blog.csdn.net/2409_88907530/article/details/144370210

相关文章

  • 软件测试笔记|web自动化测试|你们是怎么处理弹窗的?
    VX公众Hao:阳哥整理软件测试笔记 在自动化测试中,常见的弹窗有警告框(alert)、确认框(confirm)和提示框(prompt)。以Selenium为例,处理方式如下:处理警告框(Alert)1.首先使用driver.switch_to.alert切换到警告框。2.可以使用accept方法来接受警告框(相当于点击“确定”按钮),示例代码......
  • Adaptive-RAG:让查询处理更智能,检索更精准!
    今天分享的是韩国科学技术院发布的一篇工作。论文题目:Adaptive-RAG:LearningtoAdaptRetrieval-AugmentedLargeLanguageModelsthroughQuestionComplexityAdaptive-RAG:智能检索策略,提升问答模型效率论文链接:https://arxiv.org/pdf/2403.14403论文概述RAG(Retri......
  • java基础Day2 基本的Dos命令
    基本的Dos命令打开CMD的方式开始+系统+命令提示符windows+r+cmdshift+鼠标右键,打开powershell资源管理器的地址栏前面加上cmd路径管理员身份运行:选择以管理员方式运行cmd窗口中右键可以直接粘贴常用的Dos命令盘符切换:C:\Users\xyt>D:查看当前目录下的所有文件:C:\U......
  • 照片模糊修复怎么做?无需PS技术,AI一键智能处理,还原高清画质!
    在这个快节奏的数字时代,珍贵的老照片、经典的老电影,不仅是回忆的载体,更是时间的见证者。但岁月无情,它们往往因年代久远而失去原有的光彩,模糊、褪色,甚至破损。你是否曾渴望,能让这些记忆中的瑰宝重现昔日辉煌?现在,一切变得可能!千鹿AI,以尖端的人工智能技术,引领图像与视频修复的新......
  • STM32单片机芯片与内部12 TIM-基本定时器TIM67 -定时计数功能、库函数配置、HAL库配置
    目录一、功能二、库函数工程模板1、NVIC_InitTypeDef与TIM_TimeBaseInitTypeDef2、时钟使能3、初始化4、清除中断5、开启/关闭中断6、使能/失能计数器三、库函数API1、初始化的封装2、中断服务函数四、HAL库工程模板1、TIM_HandleTypeDef2、TIM_MasterConfigType......
  • 【Linux应急响应】记一次服务器被黑CPU 100%的处理过程
    本文是一次服务器被黑的处理过程纪录,包含操作步骤及总结,分享出来给到有需要的读者。文章内容简洁易懂,如果你也遇到相似的问题,相信会有不小的帮助。一、事件背景起因是有开发人员报障,程序在发布后无法正常运行,一直处于在重启的状态。一开始我以为是程序本身的问题,但在查看服务......
  • C++链表的创建与基本操作
    在C++中,链表是一种动态数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表具有灵活的内存管理和高校的插入与删除操作,但访问效率较低。链表的每个节点通常包含两部分:1、数据部分(存储链表中元素的数据);2、指针部分(指向链表中的下一个节点)。链表类型主......
  • 第82篇 简谈Redis处理为什么这么快?
    1.Redis为什么这么快?完全基于内存,数据存在内存中,绝大部分请求是纯粹的内存操作,非常快速,跟传统的磁盘文件数据存储相比,避免了通过磁盘IO读取到内存这部分的开销。数据结构简单,对数据操作也简单。【Redis中的数据结构】是专门进行设计的,每种数据结构都有一种或多种数据结构来支持......
  • 初学linux第一天,关于虚拟机的一些基本设置
    入门常用命令注意:所有的目录后面都要加/创建文件touchtest.txt编辑文件注意:如果文件不存在,则会自动创建文件并编辑#系统自带vitest.txt#vim命令需要自己下载vimtest.txt#打开文件之后,按一下i键,左下角变为INSERT时,才可以写入文件删除文件#第一......
  • YOLOv8模型开发流程优化-Roboflow数据处理与API集成教程
    本文收录于专栏:精通AI实战千例专栏合集https://blog.csdn.net/weixin_52908342/category_11863492.html从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。每一个案例都附带关键代码,详细讲解供大家学习,希望可以帮到......