You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python numpy数组保存为.raw、.nef等格式的raw图像文件

NumPy数组保存为.raw/.nef格式方案

.nef是尼康品牌的专有RAW格式,包含厂商私有传感器元数据、拍摄参数等信息,没有公开的通用写入接口,常规需求下优先选择保存为通用.raw格式即可。

实现方法

方法1:NumPy原生保存.raw(无额外依赖,最常用)

.raw本质是无任何头信息的裸像素二进制流,直接用NumPy自带的tofile方法即可完成保存,示例代码如下:

import numpy as np

# 你的目标数组,尺寸为(1944, 2592),请根据实际位深设置dtype:
# 8位raw用np.uint8,12/14/16位raw统一用np.uint16
raw_arr = np.random.randint(0, 65535, size=(1944, 2592), dtype=np.uint16)

# 保存为.raw文件
raw_arr.tofile("output_image.raw")

# 读取验证代码(可选)
read_arr = np.fromfile("output_image.raw", dtype=np.uint16).reshape(1944, 2592)
print(np.array_equal(raw_arr, read_arr)) # 输出True即说明保存无误

方法2:生成带元数据的通用RAW格式(可选)

如果需要生成可被常规RAW查看器直接识别的RAW文件,可选择保存为Adobe公开标准的DNG格式,可通过exiftool工具手动注入尺寸、拜耳阵列、位深等元数据,不需要额外代码开发。

注意事项

  • 保存前务必确认数组的数据类型与实际位深匹配,否则会出现像素值异常、图像尺寸错位的问题
  • 纯.raw文件不存储元信息,后续打开使用时需要手动指定图像尺寸、位深、拜耳排列规则等参数
  • RawPy仅支持RAW文件读取解析,不具备写入能力,无法满足你的保存需求

内容的提问来源于stack exchange,提问作者Patchouli_goo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:06:07