将 JPEG/PNG 图像转换为 RAW 图像格式的 C++ 库
C++ library to convert JPEG/PNG images to RAW image format
我已经尝试搜索将 JPEG 和 PNG 转换为 RAW 图像格式(*.raw 格式)的一天,但找不到任何结果,所有结果都是 RAW 到 JPEG/PNG。最后我决定在这里问,希望能得到答案。
所以,我只想将 JPEG 和 PNG 格式的图像转换为 RAW 图像格式 (*.raw),为此我需要可以完成这项工作的 C++ 库。此外,如果您可以建议使用 C++ 实现它的一些分步过程将会有所帮助。因为我没有这方面的经验,也没有开始。
同样请指导我。非常感谢您的帮助。
谢谢
从技术上讲,您无法将 JPEG/PNG 转换为 RAW 图像。因为 RAW 图像包含大量从相机捕获的数据。 JPEG 图像是压缩图像格式,其中大部分信息被盗用。所以你不能写一个程序来破坏数据的撕裂并恢复原始的RAW图像。 (即使你写了一个程序,生成的RAW文件并不等同于原始捕获的RAW文件)
“原始”格式定义不明确。
根据您与谁交谈,这可能意味着制造商专有的未处理格式,例如:
- 尼康的 NEF 格式或
- 佳能的 CR2 格式或
- Adobe 的 DNG 格式
几乎没有软件支持写这样的文件。 dcraw
和ufraw
支持阅读。
或者它可能表示没有 header 或大小信息的纯 RGB888 字节。许多图书馆都支持这个:
- CImg 可能是最简单的 - link
- OpenCV 可以做到
- ImageMagick Magick++ 可以做到
libvips
可以做到
您不需要实际编写任何 C/C++ 将 JPEG/PNG 转换为原始 RGB 字节,您只需使用 ImageMagick命令行:
magick input.png -depth 8 RGB:result.raw
我已经尝试搜索将 JPEG 和 PNG 转换为 RAW 图像格式(*.raw 格式)的一天,但找不到任何结果,所有结果都是 RAW 到 JPEG/PNG。最后我决定在这里问,希望能得到答案。
所以,我只想将 JPEG 和 PNG 格式的图像转换为 RAW 图像格式 (*.raw),为此我需要可以完成这项工作的 C++ 库。此外,如果您可以建议使用 C++ 实现它的一些分步过程将会有所帮助。因为我没有这方面的经验,也没有开始。
同样请指导我。非常感谢您的帮助。
谢谢
从技术上讲,您无法将 JPEG/PNG 转换为 RAW 图像。因为 RAW 图像包含大量从相机捕获的数据。 JPEG 图像是压缩图像格式,其中大部分信息被盗用。所以你不能写一个程序来破坏数据的撕裂并恢复原始的RAW图像。 (即使你写了一个程序,生成的RAW文件并不等同于原始捕获的RAW文件)
“原始”格式定义不明确。
根据您与谁交谈,这可能意味着制造商专有的未处理格式,例如:
- 尼康的 NEF 格式或
- 佳能的 CR2 格式或
- Adobe 的 DNG 格式
几乎没有软件支持写这样的文件。 dcraw
和ufraw
支持阅读。
或者它可能表示没有 header 或大小信息的纯 RGB888 字节。许多图书馆都支持这个:
- CImg 可能是最简单的 - link
- OpenCV 可以做到
- ImageMagick Magick++ 可以做到
libvips
可以做到
您不需要实际编写任何 C/C++ 将 JPEG/PNG 转换为原始 RGB 字节,您只需使用 ImageMagick命令行:
magick input.png -depth 8 RGB:result.raw