【学习笔记】关于RAW图片的概念学习

这里是尼德兰的喵·芯片设计相关文章,欢迎您的访问!

如果文章对您有所帮助,期待您的点赞收藏!

让我们一起为成为芯片前端全栈工程师而努力!

前言

能为我介绍一下raw图片吗?

当谈论"Raw图片"时,通常指的是未经压缩和处理的图像数据,它包含了从图像传感器捕获的原始像素信息。Raw图片是相机直接获取的图像数据,没有经过任何图像处理或色彩编码。

主要特点和优势:

  1. 无损数据:Raw图片是未经压缩的,因此它没有任何数据损失。相比于其他压缩格式(如JPEG),Raw图片保留了从图像传感器捕获的每个像素的原始信息,因此可以实现更高的图像质量。

  2. 更大的动态范围:Raw图片通常具有较高的位深度,如12位或14位,这使得它们能够捕获更大的动态范围。这对于处理高对比度场景和后期图像编辑非常有用。

  3. 更多的后期处理选择:由于Raw图片保留了原始的像素信息,它们在后期处理时提供更多的灵活性和选择。用户可以在计算机上使用专业图像处理软件对Raw图片进行各种调整和编辑,如白平衡、曝光补偿、色彩校正等,而这些操作在压缩图像上可能会导致质量损失。

  4. 质量控制:拥有Raw图片使得摄影师和专业用户可以对图像质量有更多的控制,因为它们可以根据自己的需要对图像进行精细调整,而不依赖于相机内部的图像处理算法。

尽管Raw图片具有很多优势,但也有一些挑战。Raw图片通常较大,需要更大的存储空间,而且相机的连拍速度可能会受到限制。此外,由于每个相机制造商都可以定义自己的Raw格式,因此不同相机品牌的Raw图片可能需要特定的软件或驱动来解码和编辑。

raw图像如何转化为RGB格式?

将Raw图像转换为RGB格式涉及到一系列图像处理步骤,包括去马赛克(Demosaicing)、白平衡(White Balance)、伽马校正(Gamma Correction)等。这些步骤可以在计算机上使用图像处理软件或编程库进行。

以下是将Raw图像转换为RGB格式的一般步骤:

  1. 去马赛克(Demosaicing): Raw图像通常使用Bayer排列进行采样,其中红、绿、蓝三个颜色通道以不同的排列方式进行采样,形成一个马赛克图案。去马赛克是将这些马赛克图案还原成完整的RGB图像的过程。常见的去马赛克算法包括最近邻插值、双线性插值、双三次插值等。

  2. 白平衡(White Balance): 白平衡是调整图像的色温,使得白色在图像中看起来是白色而不是偏色的过程。这是因为不同光源的颜色温度不同,可能会导致图像呈现偏色。白平衡可以通过调整红、绿、蓝三个通道的增益来实现。

  3. 伽马校正(Gamma Correction): Raw图像中的像素值通常是线性的,而显示设备(如显示器)对图像的显示是非线性的。因此,需要进行伽马校正来将线性的像素值转换为适合显示的非线性值。

  4. 色彩空间转换: 如果需要将图像从相机原生的色彩空间(如sRGB、AdobeRGB)转换为其他色彩空间(如sRGB、AdobeRGB),则需要进行色彩空间的转换。

需要注意的是,Raw图像的转换过程并不是简单的直接数学运算,而是涉及到对图像的复杂处理和算法。因此,常见的图像处理软件和编程库通常都提供了相关的功能来实现Raw图像到RGB格式的转换,使得这个过程变得相对容易。

RAW格式

经过各种查询知道,RAW图中每个像素都代表了一种颜色,一般情况下主要有这四种分布情况:

  那么一帧8*8的bayerGB格式的图像是啥样的呢?就是下面这个样的:

 RAW每个点只表现一种颜色的像素值,所以你看它转RGB时第一步就是去马赛克。那么下一个问题,为啥绿色像素点的数量是红色和蓝色的两倍呢?

在大多数传感器中,Raw图像中绿色像素点更多的原因与人类视觉系统和传感器技术有关。这涉及到Bayer排列(Bayer Pattern),它是一种在数字图像传感器上广泛使用的色彩滤波排列方式。

Bayer排列是一种将RGB三个颜色通道以不同的排列方式进行采样的方式,常见的Bayer排列模式为RGGB。在这种排列下,传感器中的像素以以下方式进行采样:

RG
GB

在这个4x4像素块中,绿色像素点占据了4个,而红色和蓝色像素点各占2个。因此,在Raw图像中,绿色像素点数量更多。

这样的排列方式有几个原因:

  1. 人类视觉系统对绿色更敏感:人眼的视觉系统对绿色更敏感,因为我们的视网膜中有更多的绿色感光细胞。采用Bayer排列,使得图像传感器在绿色通道上具有更高的分辨率,可以更好地捕捉细节和颜色信息。

  2. 降低噪点和增强分辨率:绿色像素点数量的增加可以降低图像的噪点水平,因为绿色通道通常有更高的信噪比。此外,绿色像素点更多也增强了图像的分辨率,因为对于每个4x4像素块,有四个绿色像素点用于捕捉细节。

虽然Raw图像中绿色像素点更多,但通过去马赛克(Demosaicing)的过程,可以还原出完整的RGB图像,其中每个像素点都有完整的红、绿、蓝三个颜色通道的信息。这使得Raw图像能够提供更高质量的图像数据,有助于后期处理和优化。

那么raw8 raw10 raw12等格式什么意思呢?就是每一个像素值的位宽。

不同的Raw图像格式(Raw8、Raw10、Raw12、Raw16等)在不同的应用场景中有着各自的优势和用途。以下是它们常见的应用场景:

  1. Raw8(8位Raw):

    • 主要特点:每个像素的位深度为8位,即256个灰度级。
    • 应用场景:Raw8是最常见的Raw图像格式之一,适用于对存储空间和传输带宽有限的应用。常见于普通的数码相机、网络摄像头、实时视频流传输等。
  2. Raw10(10位Raw):

    • 主要特点:每个像素的位深度为10位,即1024个灰度级。
    • 应用场景:Raw10提供了比Raw8更多的色彩深度,可以捕捉更多的图像细节和动态范围。常见于高端数码相机、专业摄影设备、一些工业视觉应用等,对图像质量要求较高的场景。
  3. Raw12(12位Raw):

    • 主要特点:每个像素的位深度为12位,即4096个灰度级。
    • 应用场景:Raw12提供了更高的色彩深度和更大的动态范围,能够捕捉更丰富的色彩细节和亮度层次。常见于专业摄影、高端图像处理、工业视觉领域等,对图像质量要求较高的场景。
  4. Raw16(16位Raw):

    • 主要特点:每个像素的位深度为16位,即65536个灰度级。
    • 应用场景:Raw16是最高位深度的Raw格式之一,提供了极高的色彩深度和动态范围,非常适用于对图像质量和精度要求极高的专业摄影、卫星影像、医学影像等领域。

最后一个问题,简单表示一下如何由raw图得到rgb图呢?比如下图中间的点只有一个G值,那么就可以根据上下两个红色插值得到中间的R,左右两个蓝色得到B(当然这只是一种算法):

再如下面的情况,如何得到中间点的G和B值呢?G值可以通过上下左右四个G值计算得到,B值通过四个角的B值来获得。

当然了上文已经提到过,raw转rgb并不是一个简单的运算问题还包括很多其他的处理,这就是isp要做的事了~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

019 - STM32学习笔记 - Fatfs文件系统(一) - FatFs文件系统初识

019 - STM32学习笔记 - Fatfs文件系统(一) - FatFs文件系统初识 最近工作比较忙,没时间摸鱼学习,抽空学点就整理一点笔记。 1、文件系统 在之前学习Flash的时候,可以调用SPI_FLASH_BufferWrite函数,将数…

“RWEQ+”集成技术在土壤风蚀模拟与风蚀模数估算、变化归因分析中的实践应用及SCI论文撰写

土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一,土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的首要过程。中国风蚀荒漠化面积达160.74104km2,占国土总面积的16.7%,严重影响这些地区的资源开发和社会经…

SpringBoot原理分析 | 安全框架:Shiro

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Shiro Shiro是一个安全框架,用于认证、授权和管理应用程序的安全性。它提供了一组易于使用的API和工具,可以帮助您轻松地添加安全性到您的应用…

ubuntu22.04 DNSSEC(加密DNS服务) configuration

/etx/systemd/resolved.conf是ubuntu下DNS解析服务配置文件,systemd为ubuntu下system and service配置目录 step 1——修改resolved.conf参数 管理员权限打开 /systemd/resolved.conf sudo nano /etc/systemd/resolved.conf修改如下: # This file i…

vr禁毒毒驾模拟体验从源头拒绝毒品,预防毒品

俗话说,一念天堂,一念地狱。吸毒一口,掉入虎口。吸毒对人体的危害非常大,普通人吸毒会导致家破人亡,明星吸毒会毁掉自己的大好星途。没有感同身受,何来悲喜相通,毒品危害认知VR模拟情景体验是VR…

利用频谱仪进行简单的2.4G 频率测试

一、概述 1. 信号源 我们开发2.4G 无线产品的时候,经常需要对产品的无线信号进行测试,以确定精确的频率。在进行频率测试之前,我们的2.4G 射频芯片需要进入单载波模式。 2. 频谱仪 这里选择的是普源的频谱仪。测试范围是 9kHz - 3.2GHz。…

hive 全量表、增量表、快照表、切片表和拉链表

全量表:记录每天的所有的最新状态的数据,增量表:记录每天的新增数据,增量数据是上次导出之后的新数据。快照表:按日分区,记录截止数据日期的全量数据切片表:切片表根据基础表,往往只…

Java-day03(程序流程控制)

程序流程控制 1.顺序结构 程序从上至下逐行执行,无判断与跳转 public class Test1{ public static void main(String[] args){int i 1;int j i 1; System.out.println(j);} }2.分支结构 依据条件,选择性执行某段语句 主要有以下两种 2.1 i…

vue 封装一个鼠标拖动选择时间段功能

<template><div class"timeRange"><div class"calendar"><table><thead><tr><th rowspan"6" class"weekRow"><b>周/时间</b></th><th colspan"24"><…

【机器学习】西瓜书习题3.3Python编程实现对数几率回归

参考代码 结合自己的理解&#xff0c;添加注释。 代码 导入相关的库 import numpy as np import pandas as pd import matplotlib from matplotlib import pyplot as plt from sklearn import linear_model导入数据&#xff0c;进行数据处理和特征工程 # 1.数据处理&#x…

Linux 学习记录60(ARM篇)

Linux 学习记录60(ARM篇) 本文目录 Linux 学习记录60(ARM篇)一、SPI总线1. 概念2. 硬件连接 二、SPI总线协议三、SPI总线通信模式四、对比IIC总线和SPI总线1. 相同点2. 不同点 思维导图 一、SPI总线 1. 概念 1、SPI总结是Motorola首先提出的全双工三线/四线同步串行总线 2、采…

WEB浏览器轻松读写NDEF智能海报、地图坐标、文本标签信息

本示例使用的发卡器&#xff1a;Android Linux RFID读写器NFC发卡器WEB可编程NDEF文本/智能海报/-淘宝网 (taobao.com) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&…

使用pikachu管理工具下的XSS后台进行实战

写在前面的重要提示&#xff1a; Attention&#xff1a;技术没有好坏之分&#xff0c;关键在于使用技术的人或组织。网络安全技术是一把双刃剑 – 作为网络安全人&#xff0c;虽然无法控制头上的帽子是否会变绿&#xff0c;但能控制不让它变黑&#xff1b;无论我们在物质上面对…

redis主从复制哨兵Cluster

目录 前言 一、模式介绍 1.1 主从复制 1.2 哨兵 1.3 集群 二、主从复制 2.1 主从复制的作用 2.2 主从复制流程 2.3 搭建Redis 主从复制 三、Redis 哨兵模式 3.1 哨兵模式原理 3.2 哨兵模式的作用 3.3 哨兵组成结构 3.4 哨兵故障转移机制 3.5 搭建Redis 哨兵模式…

科技项目验收测试:验证软件产品功能与性能的有效手段

科技项目验收测试是验证软件产品功能与性能的重要手段&#xff0c;在项目开发中起到了至关重要的作用。本文将从产品质量、需求验证、性能测试等方面&#xff0c;探讨科技项目验收测试的有效手段。 1、产品质量保证是验收测试的核心 科技项目验收测试的核心目标是验证软件产品…

xshell连接Windows中通过wsl安装的linux子系统-Ubuntu 22.04

xshell连接Windows中通过wsl安装的linux子系统-Ubuntu 22.04 一、安装linux子系统 1.1、 启动或关闭Windows功能-适用于Linux的Windows子系统 1.2 WSL 官方文档 使用 WSL 在 Windows 上安装 Linux //1-安装 WSL 命令 wsl --install//2-检查正在运行的 WSL 版本&#xff1a;…

关于在VS2017中编译Qt项目遇到的问题

关于在VS2017中编译Qt项目遇到的问题 【QT】VS打开QT项目运行不成功 error MSB6006 “cmd.exe”已退出,代码为 2。如何在VS2017里部署的Qt Designer上编辑槽函数 【QT】VS打开QT项目运行不成功 error MSB6006 “cmd.exe”已退出,代码为 2。 链接 如何在VS2017里部署的Qt Design…

10.python设计模式【代理模式】

内容&#xff1a;为其他对象提供一种代理一控制对这个对象的访问 应用场景&#xff1a; 远程代理&#xff1a; 为远程的对象提供代理虚代理&#xff1a;根据需要创建很大的对象保护代理&#xff1a;控制对原始对象的访问&#xff0c;用于对象有不同访问权限时 UML图 举个例…

WIZnet W6100-EVB-Pico DHCP 配置教程(三)

前言 在上一章节中我们讲了网络信息配置&#xff0c;那些网络信息的配置都是用户手动的去配置的&#xff0c;为了能跟电脑处于同一网段&#xff0c;且电脑能成功ping通板子&#xff0c;我们不仅要注意子网掩码&#xff0c;对于IP地址主机位和网络位的划分&#xff0c;而且还要注…

【unity】Pico VR 开发笔记(基础篇)

Pico VR 开发笔记(基础篇) XR Interaction Tooikit 版本 2.3.2 一、环境搭建 其实官方文档已经写的很详细了&#xff0c;这里只是不废话快速搭建&#xff0c;另外有一项官方说明有误的&#xff0c;补充说明一下&#xff0c;在开发工具部分说明 插件安装——安装pico的sdk和XR…