如何使用 Linux 命令将 JPEG 图像转换为 RAW 图像?

如何使用 Linux 命令将 JPEG 图像转换为 RAW 图像?

我有一系列用佳能 Powershot转换为 JPEG。如何将它们转换/转换为 RAW 图像?

不是使用图形工具,而是使用命令行!

注意:使用原始图像在 Siril 天文照片应用程序中堆叠(https://siril.org/fr/

答案1

原始 RAW 图像无法恢复。

选择 JPEG 而不是 RAW 可以节省空间,但会牺牲质量。
此操作不可逆且有损。
简单来说,这意味着您无法返回。

遗憾的是,下次拍摄前您可能只能选择 RAW 格式而不是 JPEG。

笔记:从技术上讲,您可以找到一种方法将当前的 jpg 图像转换为 RAW 格式,但它与您直接以 RAW 格式拍摄和保存的 RAW 图像不一样。


在搜索佳能支持你可能会读

相机可以拍摄 JPEG 和 RAW 格式的图像。

JPEG
图像在相机中处理以获得最佳图像质量,并压缩以减小文件大小。但是,压缩过程是不可逆的,图像无法恢复到其原始未处理的状态。图像处理也可能导致图像质量有所损失。

RAW “原始”(未处理)数据,记录的图像质量基本不会因相机的图像处理而损失。此状态下的数据不能用于在计算机上查看或打印。您必须先在相机上处理图像或使用软件(Digital Photo Professional)将图像转换为 JPEG 或 TIFF 文件。可以对图像进行调整,图像质量损失最小。

答案2

“原始”不是一种定义明确的格式。检查 维基百科 Raw 图像格式,我数了一下,有 43 种原始格式,每种格式都取决于相机型号。

最好的图像包之一是 图像魔术师,可作为 Linux 上的软件包或下载使用,支持几种 RAW 格式。使用其命令magickconvert

但是,结果的质量会非常差。JPEG 是经过处理的图像数据,而 RAW 不是。通常,RAW 文件每像素有 12-14 位,这意味着最多有 16384 个值。JPEG 每个 RGB 通道只能有 256 个亮度值。这意味着 JPEG 包含的数据比相应的 RAW 文件少得多。因此没有很好的方法将 JPEG 转换为 RAW。

答案3

尝试将 JPEG 转换为 RAW 格式的困难和机会。

将 JPEG 文件转换为原始 RAW 文件并不总是可行的。
注意:我谈论原始或特定的 RAW 格式是因为它不是一个标准:RAW 格式是服务格式,彼此不同,制造商使用它们将 CCD 的内容快速保存到缓冲区中,并以防万一保存在存储设备上。

限制。您也许能够将其转换为有效的 RAW 格式,但这并不意味着新 RAW 文件中存储的各个值与您直接以 RAW 格式保存的镜头相同。

机会。即使您可以将 JPEG 图像转换为 RAW 格式并从中开始处理,最终结果也不会比直接从已有的 JPEG 开始处理更好。事实上,您将应用过滤器(算法)将一种格式转换为另一种格式,并可能引入进一步的更改。

困難。尽管如此,一旦你知道具体的 RAW 格式你可能会找到一种方法正式地 convert将图像转换为 RAW 格式。这将涉及不小的编程工作,从逆变换的建模开始,到用首选语言对算法进行编码结束。

现有计划。convert计划来自ImagemagickLinux(或其他操作系统)下的软件包无法将任何格式直接转换为 Canon RAW 格式,它只能读取R) 他们...所以它可以做与 OP 所寻找的相反的事情:将 RAW 转换为任何东西。

convert -list format | grep Canon
      CR2  DNG       r--   Canon Digital Camera Raw Image Format
      CRW  DNG       r--   Canon Digital Camera Raw Image Format

但 Imagemagick 甚至脚本/编程语言。一旦您能够访问单个像素值,您就可以根据需要保存它们...对其进行编程。但您需要知道所需格式的规格。

此外,由于它是一个开源程序,您可以在代码中看到用于转换的例程来自 RAW看看你是否能够倒置他们。

关于 RAW 到 JPEG 转换的不可逆性。

出现这种情况的原因有很多。其中包括:

  • 有些格式是有损的,JPEG 通常是其中之一。您可以节省空间,但代价是产生伪影,并对单个像素的原始值进行一般性修改。

  • 在经典的 JPEG 格式中,颜色只有 8 位(即 256 种色调)。在 CCD 传感器中,计数器通常为 12 位或 14 位(即 4096 和 16384 种色调)。
    如果您将图像视为直方图,则您将在 JPEG 图像的单个 bin(列)中平均 12 位和 14 位计数器中分别包含的 16 个和 64 个 bin 中的值。如何从平均值中恢复单个 bin 值?

  • 即使你的 JPEG 是最新的 12-14-16 位格式(JPEG_XT),您不知道相机内部用于此转换的算法。
    (简单来说,传感器可以具有非线性效率曲线。制造商可以通过将数字从 RAW 格式转换为线性来考虑到这一点阴凉处JPEG、TIFF 等格式的级别。)

  • CCD 的几何形状与图像的几何形状不同。粗略地说,在图像中,我们有一个像素,相对于完全相同的几何正方形,有 3 个或 4 个值。所有正方形都是相邻的。

    在 CCD 中,我们采用几何方式分离对不同波长敏感的传感器,粗略地说,这些波长又分别对应 R、G、B 值。这些传感器的表面可能相同,也可能不同,而且效率肯定也不同,效率会根据每秒计数次数而变化。

    这些 RGB 传感器序列如何对齐和相互间隔取决于 CCD 的设计。您可以看到以下示例彩色滤光片阵列在互联网上。

    在此处输入图片描述 图片来源维基百科

    在此处输入图片描述 图片来源埃普吉

    例如,如何将红色传感器的计数值转换为像素 R 的图像值,取决于它们的几何位置和所选的算法,该算法可能会或可能不会考虑附近传感器的值,无论是对相同波长还是其他波长敏感的传感器。

    所有这些事情都很难逆转。

答案4

正如其他人指出的那样,从 JPG 转换时无法获得通常的 RAW 格式的好处。

但是,佳能 Powershot 可以使用来自 差分单片机可以拍摄 RAW 图像的项目。当然,这对现有图像没有帮助。

相关内容