-1

我曾尝试寻找将 JPEG 和 PNG 转换为 RAW 图像格式(* .raw 格式)的一天,但找不到任何结果,所有结果都是 RAW 到 JPEG/PNG。最后我决定在这里问,希望能得到答案。

因此,我只想将 JPEG 和 PNG 格式的图像转换为 RAW 图像格式(*.raw),为此我需要可以完成这项工作的 C++ 库。此外,如果您可以建议一些逐步的过程来使用 C++ 实现它,将会很有帮助。因为我没有这方面的经验,也没有开始。

请指导我。非常感谢您的帮助。

谢谢

4

2 回答 2

3

“原始”不是一个定义明确的格式。

根据您与谁交谈,这可能意味着制造商专有的未处理格式,例如:

  • 尼康的 NEF 格式或
  • 佳能的 CR2 格式或
  • Adobe 的 DNG 格式

几乎没有软件支持编写此类文件。dcrawufraw支持阅读它们。

或者它可能意味着没有标题或大小信息的直接 RGB888 字节。许多图书馆都支持这一点:

  • CImg 可能是最简单的 -链接
  • OpenCV 可以做到
  • ImageMagick Magick++ 可以做到
  • libvips可以做到

您不需要实际编写任何 C/C++ 来将 JPEG/PNG 转换为原始 RGB 字节,您可以在命令行中使用ImageMagick

magick input.png -depth 8 RGB:result.raw
于 2020-07-29T19:28:50.453 回答
0

从技术上讲,您不能将 JPEG/PNG 转换为 RAW 图像。因为 RAW 图像包含从相机捕获的大量数据。JPEG 图像是压缩的图像格式,其中大部分信息被窃取。因此,您不能编写程序来篡改数据并恢复原始 RAW 图像。(即使你写了一个程序,生成的 RAW 文件并不等同于最初捕获的 RAW 文件)

于 2020-07-29T05:55:53.443 回答