我曾尝试寻找将 JPEG 和 PNG 转换为 RAW 图像格式(* .raw 格式)的一天,但找不到任何结果,所有结果都是 RAW 到 JPEG/PNG。最后我决定在这里问,希望能得到答案。
因此,我只想将 JPEG 和 PNG 格式的图像转换为 RAW 图像格式(*.raw),为此我需要可以完成这项工作的 C++ 库。此外,如果您可以建议一些逐步的过程来使用 C++ 实现它,将会很有帮助。因为我没有这方面的经验,也没有开始。
请指导我。非常感谢您的帮助。
谢谢
我曾尝试寻找将 JPEG 和 PNG 转换为 RAW 图像格式(* .raw 格式)的一天,但找不到任何结果,所有结果都是 RAW 到 JPEG/PNG。最后我决定在这里问,希望能得到答案。
因此,我只想将 JPEG 和 PNG 格式的图像转换为 RAW 图像格式(*.raw),为此我需要可以完成这项工作的 C++ 库。此外,如果您可以建议一些逐步的过程来使用 C++ 实现它,将会很有帮助。因为我没有这方面的经验,也没有开始。
请指导我。非常感谢您的帮助。
谢谢
“原始”不是一个定义明确的格式。
根据您与谁交谈,这可能意味着制造商专有的未处理格式,例如:
几乎没有软件支持编写此类文件。dcraw
并ufraw
支持阅读它们。
或者它可能意味着没有标题或大小信息的直接 RGB888 字节。许多图书馆都支持这一点:
libvips
可以做到您不需要实际编写任何 C/C++ 来将 JPEG/PNG 转换为原始 RGB 字节,您可以在命令行中使用ImageMagick:
magick input.png -depth 8 RGB:result.raw
从技术上讲,您不能将 JPEG/PNG 转换为 RAW 图像。因为 RAW 图像包含从相机捕获的大量数据。JPEG 图像是压缩的图像格式,其中大部分信息被窃取。因此,您不能编写程序来篡改数据并恢复原始 RAW 图像。(即使你写了一个程序,生成的 RAW 文件并不等同于最初捕获的 RAW 文件)