问题标签 [libraw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
190 浏览

c++ - 使用 libraw 读取原始图像并使用 libtiff 转换为 DNG

我正在使用 Libraw 读取 RAW 文件(通常是 NEF 格式),一切似乎都很好。经过一些处理,我需要将 RAW 图像保存为 DNG 文件。但是,当我用 Photoshop 打开 DNG 文件时,颜色似乎不对。

为了找到 CFA 模式,我使用 RawProcessor.COLOR 查看模式的前两行和两列。我得到以下模式:\00\01\01\02。然后我将原始图像写入文件:

我使用以下方法找到 cam_xyz:RawProcessor.imgdata.color.cam_xyz,它是一个 4x3 矩阵,我删除了最后一行以获得 cam_xyz。cam_mul 来自 RawProcessor.imgdata.color.cam_mul,它有 4 个元素,我删除了最后一个元素以获得 cam_mul。cam_mul 的值在传递给 Tiff 标记之前被反转。

编辑:这是使用 LibRaw 从文件中读取 RAW 图像的代码:

我得到 cam_xyz 的以下值:

[1.0405 -0.3755 -0.127

-0.5461 1.3787 0.1793

-0.104 0.2015 0.6785

0 0 0]

和 cam_mul : [1.78906, 1, 1.67969, 1]。

  1. 正如我所说,我有一个大问题,即当我在 Photoshop 中加载 DNG 图像时,颜色不正确,这可能是由于颜色矩阵或白平衡造成的。

  2. 另一个问题是,当我在 Photoshop 中加载原始 NEF 文件时,大小为 5504x8256,而 DNG 文件的大小为 5520x8288。我也检查了这些值:

    RawProcessor.imgdata.sizes.top_margin:0

    RawProcessor.imgdata.sizes.left_margin:2

这与我在另一个软件中打开 NEF 文件的大小不对应。知道问题出在哪里吗?

尝试此图库中的任何图像 ( https://www.photographyblog.com/previews/nikon_d850_photos ) 将得到与此类似的结果,其中原始 RAW 图像是底部图像,顶部图像是转换后的 DNG 图像:

转换后的 DNG 原始RAW

0 投票
1 回答
36 浏览

python - 如何使用 Rawpy 图像处理库从 URL 读取图像?

如何使用 rawpy 库从 url 读取图像?

我试过了

但它不起作用。

我深入研究了 rawpy 的代码,它说它需要“路径或文件”。

我也尝试过其他方法,例如使用 tempfile、内存中的对象、BytesIO,但都不起作用。

我会很感激这方面的一些帮助。

编辑一:

关于 urllib.request 库,这些是我得到的错误:

一世)

结果错误

ii)

结果错误

iii)

结果错误

编辑二:我尝试过的其他不使用 urllib 库的东西是

i) 在内存文件中

结果错误

ii) 智能开启

结果错误

编辑三(解决方案):

好的,我设法通过使用原始图像格式数据(.dng)来解决它。

这是我的代码

0 投票
0 回答
38 浏览

python - struct.error:使用 Python 解压需要 4380480 字节(RAW 到 DNG)的缓冲区

我需要使用 Python 将 RAW 文件转换为 DNG,但我不断收到 struct.error ...

就我在互联网上看到的而言,这个错误并不常见——我正在处理 RAW 图像帧——我的错误是“struct.error: unpack requires a buffer of 4380480 bytes” 这是我所在文件的 google 驱动器的链接使用 https://drive.google.com/file/d/1pwRS8FGXKjx4S5FRdQDf8A885QFqirja/view?usp=sharing

我需要将此标头 hd0.32k 和每个原始文件连接起来,以使用此库(如下)生成一个 DNG 文件,并且一切正常,除了我遇到了这个错误并且我找不到太多关于该做什么的信息。我应该使用不同的库吗?这可能是原始文件问题的损坏吗?所有帮助将不胜感激!:)

DNG 库 https://github.com/schoolpost/PiDNG/tree/master/pidng

0 投票
2 回答
28 浏览

cmake - 如何将外部路径(包括,lib)和定义包装到cmake中的目标中

一些库不提供目标,而是LibRaw生成包含有关包含路径、库路径和编译定义信息的变量。在 的情况下LibRaw,vcpkg 建议使用以下用法:

但是,我更愿意在使用链接库时保持一致

有没有办法将所有提供的变量包装到目标中。