Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >处理Raspberry Pi的RAW文件

处理Raspberry Pi的RAW文件

作者头像
云深无际
发布于 2022-02-09 02:34:28
发布于 2022-02-09 02:34:28
1.1K00
代码可运行
举报
文章被收录于专栏:云深之无迹云深之无迹
运行总次数:0
代码可运行

树莓派的应用一般保存的文件都是jpg的,但是这种文件是有损的,有时候我们想要RAW文件来进行更加个性化的处理。

拍照时,我们大多数人都喜欢按下相机和手机上的快门按钮,以便几乎立即生成可视图像,通常以众所周知的 JPEG 格式编码。但是,在某些应用程序中,需要对 JPEG 的生成进行更多控制。例如,你可能想要或多或少地去噪,或者你可能觉得颜色渲染得不太正确。

这就是原始(有时是RAW)文件的来源。在这种情况下,原始图像是直接捕获从图像传感器输出的像素,无需额外处理。通常这是一种相对标准的格式,称为拜耳图像,以布莱斯拜耳的名字命名,他在 1974 年为柯达工作时开创了这项技术。这个想法不是让板载硬件 ISP(图像信号处理器)将原始拜耳图像转换为可视图片,而是使用额外的软件离线完成,通常称为原始转换器。

拜耳图像在每个像素位置仅记录一种颜色,如图所示

原始图像有时被比作旧的摄影底片,虽然许多相机供应商使用他们自己的专有格式,但最便携的原始文件格式是 Adobe 在 2004 年定义的数字负片(或DNG)格式。是如何从 Raspberry Pi 获取 DNG 文件,这样我们就可以使用我们最喜欢的原始转换器来处理它们。

大疆 OSMO + 入手初体验.上 在这篇文章里面我有写PNG,可以去看看。

许多人都熟悉该raspistill应用程序,该应用程序从连接的摄像头捕获 JPEG 图像。raspistill包括-r选项,它将所有原始图像数据附加到 JPEG 文件的末尾。JPEG 查看器仍将正常显示文件,但会忽略最后附加的(数兆字节)原始数据。可以使用终端命令捕获这样的“JPEG+RAW”文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
raspistill -r -o image.jpg

不幸的是,这种 JPEG+RAW 格式只是来自相机堆栈的格式,并且不受任何原始转换器的支持。因此,要使用它,我们必须将其转换为 DNG 文件。

这个 Python 实用程序将 Raspberry Pi 的原生 JPEG+RAW 文件转换为 DNG。PyDNG 可以从:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
github.com/schoolpost/PyDNG

安装,那里有更完整的说明。简而言之,我们需要执行以下步骤:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/schoolpost/PyDNG
cd PyDNG
pip3 install src/.  # note that PyDNG requires Python3

PyDNG 可以用作大型 Python 脚本的一部分,也可以单独运行。继续raspistill之前的示例,我们可以在终端窗口中输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python3 examples/utility.py image.jpg

生成的 DNG 文件可以由各种原始转换器处理。有些是免费的(例如 RawTherapee 或 dcraw,尽管后者不再被官方开发或支持),并且有许多众所周知的专有选项(例如 Adobe Camera Raw 或 Lightroom)。

白平衡和色彩矩阵

现在,到目前为止处理 Raspberry Pi 原始文件的问题之一是获得合理颜色的问题。以前,图像被渲染成病态的绿色,仅仅是因为没有进行色彩平衡,而绿色通常是最敏感的颜色通道。事实上,它甚至比这更糟糕,因为原始图像中的 RGB 值仅反映了传感器的光点对不同波长的敏感度,并且与我们自己的眼睛感知的颜色没有先验的一般相关性. 这是我们需要白平衡和颜色矩阵的地方。

如果场景的中性部分看起来很中性,则需要正确的白平衡乘数。我们可以用raspistill在JPEG + RAW文件中(或者你可以衡量自己在现场的一个中立的一部分,就像灰卡)。然后需要矩阵和查找表将颜色从“相机”空间转换为最终选择的颜色空间,主要是 sRGB 或 Adobe RGB。

左边为没有处理的,右边是处理的

关于PNG的具体实现,我放链接了,自己读。(估计你也不读)

Dji Onboard SDK(边缘高性能SDK),PNG的相关文件,我这里也写过

其实还提供了DCP的文件(就是PNG的配置文件)这里就不说了。

下面是原文地址和PNG的细节实现:

还有一篇极好的文章

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://www.strollswithmydog.com/raw-file-conversion-steps/
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
zhttps://wwwimages2.adobe.com/content/dam/acom/en/products/photoshop/pdfs/dng_spec_1.5.0.0.pdf
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://www.raspberrypi.com/news/processing-raw-image-files-from-a-raspberry-pi-high-quality-camera/
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SILKYPIX Developer Studio Pro 11E for Mac(RAW数码照片处理)
SILKYPIX Developer Studio Pro 是一款专业的 RAW 图像处理软件,主要用于处理数码相机拍摄的 RAW 格式照片。以下是该软件的主要特点:
用户10121095
2023/03/24
3740
Android 手机如何拍摄RAW图
专业玩摄影的朋友可能更倾向于使用相机的RAW格式,然后自己做后期处理,而不是直接拍摄JPEG格式的图片。
雪月清
2020/09/01
3.6K0
Android 手机如何拍摄RAW图
树莓派(Raspberry-Pi)3玩起来
Raspberry Pi(树莓派)是一款只有信用卡大小、使用基于 Debian 系统的微型电脑,它内置多种接口,包括视频、USB、LAN 等,你很容易就可以以非常少的价格拼装出一台可用的微型计算机。 ![1.jpg][1]
ghostsf
2022/09/09
1.3K0
Camera Raw 15.2
Adobe Camera Raw自2003年首次发布以来,一直是专业摄影师必备的工具,可用于导入和增强原始图像。支持Adobe Camera Raw15 for mac的应用程序包括Photoshop,Photoshop Elements,After Effects和Bridge。此外,Adobe Lightroom建立在ps插件 Camera Raw15强大的原始图像处理技术之上。Camera Raw15 mac下载是作为一个增效工具随 Adobe After Effects® 和 Adobe Photoshop 一起提供的,这款Raw增效工具为其中的每个应用程序提供了导入和处理相机原始数据文件的功能。也可以使用 Camera Raw 来处理 JPEG 和 TIFF 文件。
用户10121095
2023/04/14
2.5K0
英伟达TX2的ISP支持情况(24年落伍版)
JetPack 5 支持 Jetson Orin 和 Jetson Xavier 以及生产就绪的功能版本。
云深无际
2024/08/21
2620
英伟达TX2的ISP支持情况(24年落伍版)
用Python打造一款人工智能照相机
今天,我们将自己动手打造出一款基于深度学习的照相机,当小鸟出现在摄像头画面中时,它将能检测到小鸟并自动进行拍照。最终成品所拍摄的画面如下所示:
python学习教程
2019/11/12
1.2K0
用Python打造一款人工智能照相机
2. 从入射光到JPEG相片-数码相机内部的秘密
虽然你可能拥有不止一个相机,而且现在用手机也能拍出精彩的照片,但你肯定也曾困惑过,为什么数码相机(单反),包括手机,可以拍出精彩的照片,它们跟传统的照相机到底区别在哪里?其实我自己也曾很困惑。我依稀记得我大学期间使用的相机都还是胶卷式的,怎么突然满大街都是数码相机和手机,人们甚至已经习惯了用手机来拍照,连数码相机都要被淘汰掉了似的。科技实在是进步得太快了。
HawkWang
2020/04/21
1.3K0
2. 从入射光到JPEG相片-数码相机内部的秘密
HDMI输入转MIPI接口
先说这个东西有什么用,可以把市面上支持输出HDMI的运动相机转成树莓派的CSI接口,然后可以借助Linux强大的生态来捕获视频。至于应用,那可太多了。
云深无际
2022/02/09
3.4K0
HDMI输入转MIPI接口
HDMI输入转CSI-2接口
文章前两天发过,标题错了,然后下面一部分内容格式错误,我也搞不了。这里做下标题的更正。
云深无际
2022/02/09
2.8K0
HDMI输入转CSI-2接口
如何编程实现图像后期处理与优化
从RAW文件到可观察的照片,中间有着好几个复杂的过程。我准备撰写一些文章,教大家一步步用Python实现这个过程。接下来,我们会在此基础上,学习如何编程(尽量基于Python,不排除部分高级算法需要用C++等别的语言)实现基于RAW文件的图像后期处理。我希望这系列文章不仅仅包含科学的内容,甚至还能有一些艺术的内容~
HawkWang
2022/11/30
1.2K0
如何编程实现图像后期处理与优化
Capture One Pro 22 for Mac(RAW图像处理软件)v15.4.1.7中文直装版
Capture One是专业的RAW转换器,可为500多个高端相机提供极致的图像质量,美丽的色彩和令人难以置信的细节。它通过可自定义的工作区提供最先进的绑定捕获,强大的数字资产管理,广泛的调整工具和灵活的工作流程。
一小朵
2022/10/18
7430
Capture One Pro 22 for Mac(RAW图像处理软件)v15.4.1.7中文直装版
TensorFlow,Raspberry Pi和Pan-Tilt HAT实时对象跟踪
https://github.com/leigh-johnson/rpi-deep-pantilt
代码医生工作室
2019/12/19
2.5K0
TensorFlow,Raspberry Pi和Pan-Tilt HAT实时对象跟踪
CVPR2021|单个网络支持sRGB渲染与RAW数据重建,港科大陈启峰团队提出可逆ISP
code:https://github.com/yzxing87/Invertible-ISP
AIWalker
2021/04/13
1.3K0
CVPR2021|单个网络支持sRGB渲染与RAW数据重建,港科大陈启峰团队提出可逆ISP
相机图像信号处理流程(ISP)
本文是图像信号处理流程的一个总体的介绍,以便更好理解一张照片究竟是如何诞生的,实际的技术要复杂很多。
混说Linux
2023/12/11
1.2K1
相机图像信号处理流程(ISP)
DNG格式详解,DNG是什么?为何DNG可以取代RAW统一单反相机、苹果安卓移动端相机拍摄输出原始图像数据标准
在DNG格式发布之前,我们先了解一下之前单反相机、苹果和安卓移动端相机拍照输出未经处理的原始图像格式是什么?
csdn博主eguid_1
2023/10/16
5K0
DNG格式详解,DNG是什么?为何DNG可以取代RAW统一单反相机、苹果安卓移动端相机拍摄输出原始图像数据标准
Raw数据相关概念
维基百科的字面解释是:原始图像文件包含从数码相机、扫描器或电影胶片扫描仪的图像传感器所处理数据。RAW文件包含创建一个可视图像所必须的相机传感器数据信息。
AomanHao
2022/01/14
1.6K0
Raw数据相关概念
树莓派计算机视觉编程:11~13
本章是我们在前面各章中学习和展示的所有计算机视觉概念的最终总结。 在本章中,我们将使用我们较早学习的计算机视觉操作来实现一些实际项目。 我们还将学习一些新概念,例如背景减法和光流计算,然后在小型应用中进行演示。 本章包含许多动手的编程示例,以及有关代码和新功能的详细说明。
ApacheCN_飞龙
2023/04/27
1.5K0
开发彩色机器视觉系统必须考虑的十个问题
在为你的产品开发最适合的机器视觉系统时,需要考虑很多因素,以下列出开发过程中需要考虑的一些问题:
小白学视觉
2020/07/15
9100
TensorFlow 智能移动项目:11~12
在前九章中,我们使用 TensorFlow Mobile 在移动设备上运行各种由 TensorFlow 和 Keras 构建的强大的深度学习模型。 正如我们在第 1 章,“移动 TensorFlow 入门”中提到的那样,Google 还提供了 TensorFlow Lite(可替代 TensorFlow Mobile 的版本)在移动设备上运行模型。 尽管自 Google I/O 2018 起它仍在开发人员预览中,但 Google 打算“大大简化开发人员针对小型设备的模型定位的体验。” 因此,值得详细研究 TensorFlow Lite 并为未来做好准备。
ApacheCN_飞龙
2023/04/24
4.4K0
TensorFlow 智能移动项目:11~12
机器之心实操 | 亚马逊详解如何使用MXNet在树莓派上搭建实时目标识别系统
选自AWS 机器之心编译 参与:思源 在过去的五年中,深度神经网络已经解决了许多计算困难的问题,特别是计算机视觉。因为深度神经网络需要大量的计算力来训练模型,所以我们经常使用多块 GPU 或云端服务器进行分布式地训练。实际上,在深度神经网络模型经过训练后,它只需要相对较少的计算资源就能执行预测。这就意味着我们能将模型部署到低功耗的边缘设备中,并且在没有网络连接的情况下运行。 亚马逊的开源深度学习引擎 Apache MXNet 除了支持多 GPU 训练和部署复杂模型外,还可以生成非常轻量级的神经网络模型。我们
机器之心
2018/05/09
1.8K0
机器之心实操 | 亚马逊详解如何使用MXNet在树莓派上搭建实时目标识别系统
推荐阅读
相关推荐
SILKYPIX Developer Studio Pro 11E for Mac(RAW数码照片处理)
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验