OpenEXR (.exr)

背景

    • 已注册的 MIME 类型:image/x-exr
    • OpenEXR 光栅图像格式.
    • 用于戏剧电影制作中的数字图像处理.
    • EXR 是扩展动态范围(Extended Dynamic Range)的缩写.
    • 二进制文件格式.
    • 存储 16位每像素 IEEE 半精度浮点颜色通道.
    • 可以选择存储 32位 IEEE 浮点 "Z" 通道深度缓冲分量,表面法向方向或运动矢量.
    • 可使用平铺或多视角扫面线模式存储多个图像.
    • 支持 α 通道.
    • 于 2003 年由 Industrial Light & Magic 引入.
    • OpenEXR 是 Academy Software Foundation 的项目.

Import

  • Import["file.exr"] 以单个 Image 形式导入一个 OpenEXR 文件.
  • Import["file.exr",elem] 从 OpenEXR 文件中导入指定的参数.
  • 导入格式可以由 Import["file","OpenEXR"]Import["file",{"OpenEXR",elem,}] 指定.
  • Export["file.exr",expr]expr 导入 OpenEXR.
  • 支持以下表达式:
  • imageImage 对象
    graphics栅格化的 GraphicsGraphics3D 对象
    {expr1,expr2,}不同图像的列表,也称为视图
    <|"name1"expr1,|>命名的图像列表
  • 导出图形时,生成的图像具有与其显示形式相同的光栅大小.
  • 请到以下参考页面了解完整的基本信息:
  • Import, Export从文件导入或导出到文件
    CloudImport, CloudExport从云对象导入或导出到云对象
    ImportString, ExportString从字符串导入或导出到字符串
    ImportByteArray, ExportByteArray从字节数组导入或导出到字节数组

Import 参数

  • Import 的通用参数:
  • "Elements" 该文件可用的参数和选项列表
    "Summary"文件摘要
    "Rules"所有可用参数的规则列表
  • 表示数据的参数:
  • "Image"返回为一个 Image 对象的第一个图像
    "Graphics"返回为一个 Graphics 对象的第一个图像
    "EmbeddedThumbnail"存储在文件中的缩略图(如果有)
    "Thumbnail"第一张图片的缩略图
  • 默认情况下,Import 使用 "Image" 参数.
  • OpenEXR 可以存储多个称为视图的图像. 图像通常表示同一图像的多种分辨率或各种深度级别.
  • 包含多个视图的文件的属性:
  • "ImageCount"文件中的图像数
    "ImageNames"存储在文件中的图像名称
    "ImageMode"OpenEXR 映像的模式
    "ImageSizeRoundingMode"下采样时在平铺图像中使用的舍入模式
  • 可用图像模式:
  • "Scanline"单个图像
    "OneLevel"单层
    "Mipmap"贴图平铺
    "Ripmap"撕裂图平铺
    "Deep"存储多个深度级别
  • 返回多个视图的参数:
  • "Data"数值数组
    "GraphicsList"返回为 Graphics 对象的数据
    "ImageList"返回为 Image 对象的数据
  • 返回多个视图的参数以 <|name1view1,|> 形式给出关联,其中 viewi 的结构取决于级别模式和文件是否存储深层图像.
  • 每个图像 viewi 结果结构取决于图像的模式:
  • "Scanline"res
    "OneLevel"<|1res1|>
    "Mipmap"<|1res11,2res22,|>
    "Ripmap"<|1<|1res11,2res21,|>,2<|1res12,2res22,|>,|>
    "Deep"<|1deep1,2deep2,|>
  • 其中每个 resij1^(st) 维度中以 i 的因子,并在 2^(nd) 维度中以 j 的因子进行下采样.
  • 分离通道表示参数:
  • "ChannelNames"每个视图中颜色通道的名称
    "Channels"每个视图中使用的颜色通道数
    "ChannelData"每个视图的频道数据
    "ChannelImageList"每个视图的频道图像列表
  • 通道会自动合并为部已知的色彩空间(例如,将 "R""G""B" 通道合并为 RGB 图像等).
  • 每个视图的元数据参数:
  • "BitDepth"用于对文件中的颜色通道进行编码的位数
    "ColorSpace"文件中使用的颜色编码
    "ImageSize"栅格尺寸
    "LevelCount"每个视图的级别数
  • 整个文件的元数据元素:
  • "Attributes"存储在 OpenEXR 文件中所有属性列表
    "Author"创建者名字
    "Comments"用户注释
    "Compression"图像是如何在文件中被压缩的
    "CopyrightNotice"表示为字符串的版权信息
    "DataWindow"数据窗口角落的坐标
    "DateTime"文件创建日期和时间
    "DisplayWindow"显示窗口角落的坐标
    "Summary"文件摘要
    "SummarySlideView"幻灯片视图的所有视图摘要
    "Version"OpenEXR 文件的版本
  • 可以指定用于部分导入数据的子参数,例如 "Data"、"ImageList""ChannelImageList". 根据 OpenEXR 文件的模式,可以用以下形式之一指定部分访问:
  • "Scanline"{elem,view,channel}
    "OneLevel"{elem,view,level,channel}
    "Mipmap"{elem,view,level,channel}
    "Ripmap"{elem,view,level,level,channel}
    "Deep"{elem,view,level,channel}
  • 数据表示参数从数据窗口导入.

选项

  • Import 选项:
  • ImageSizeAutomatic整体影像尺寸
    "ImageTopOrientation"Automatic存储在文件中的图像方向
  • Export 选项:
  • "Attributes"Automatic与文件相关的参数
    "ImageMode"AutomaticOpenEXR 图像的模式
    "ImageSizeRoundingMode""Up"下采样时在平铺图像中使用的舍入模式
    "EmbeddedThumbnail"None嵌入文件的缩略图

范例

打开所有单元关闭所有单元

基本范例  (3)

导入一个 OpenEXR 文件:

从一个多分辨率的 OpenEXR 文件中导入图像列表:

图像摘要:

范围  (3)

Import  (3)

导入所有图像:

导入第一张图片:

导入元数据,例如图像大小:

平铺的 OpenEXR 文件摘要:

多视图 OpenEXR 文件摘要:

Import 参数  (31)

可用参数  (2)

可用元素列表:

将所有参数导入为规则列表:

数据表示  (13)

"ChannelData"  (2)

将数据通道导入为 NumericArray 对象:

仅导入特定频道:

"ChannelImageList"  (2)

将数据通道导入为 Image 对象:

仅导入特定频道:

"Data"  (2)

将图像数据导入为 NumericArray 对象:

导入特定视图:

"Graphics"  (1)

将首个图像导入为 Graphics 对象:

"GraphicsList"  (2)

将数据导入为 Graphics 对象:

导入指定视图:

"Image"  (1)

将首个图像导入为 Image 对象:

以下为默认元素:

"ImageList"  (2)

将数据导入为 Image 对象:

导入特定视图:

"Thumbnail"  (1)

导入第一张图片的缩略图:

Metadata  (16)

"Attributes"  (1)

导入文件属性:

"BitDepth"  (1)

导入每个视图的位深:

"ChannelNames"  (1)

导入每个视图的频道名称:

"Channels"  (1)

导入每个视图的频道数:

"ColorSpace"  (1)

导入每个视图的色彩空间:

"Compression"  (1)

导入使用的压缩:

"DataWindow"  (1)

导入数据窗口:

"DisplayWindow"  (1)

导入显示窗口:

"LevelCount"  (1)

导入每个视图的级别数:

"ImageCount"  (1)

导入视图数:

"ImageNames"  (1)

导入视图的名称:

"ImageMode"  (1)

导入文件的模式:

"ImageSizeRoundingMode"  (1)

下采样时导入平铺图像中使用的舍入模式:

"ImageSize"  (1)

导入第一张图片的图片大小:

"Summary"  (1)

导入文件摘要:

"SummarySlideView"  (1)

导入每个视图的摘要:

Import 选项  (2)

ImageSize  (1)

默认情况下,图像以其完整分辨率导入:

指定导入的 JPEG 图像的光栅大小:

"ImageTopOrientation"  (1)

默认情况下,图像以原始方向导入:

指定应该在顶部的一侧:

导出选项  (1)

"ImageMode"  (1)

默认情况下,图像模式是根据表达式自动选择的。

单个图像导出为 "Scanline"

在导出时指定图像模式:

需要时,低分辨率图像会自动生成并存储在文件中:

属性和关系  (1)

创建图像金字塔并存储在 OpenEXR 文件:

查看创建的文件的摘要: