Image
Image[data]
一个光栅图像,其像素值由数组 data 给出.
Image[graphics]
从一个图形对象创建一个光栅图像.
Image[obj,options]
给出使用指定选项的图像.
更多信息和选项
- 图像是由照相机或成像设备捕获的矩形像素网格. 通常以 TIFF、PEG、PNG 等格式进行压缩和存储.
- Image[…] 在笔记本中显示为一个图像.
- Image[data] 每页从上至下顺序设置连续的 data 行,从左至右设置连续的列.
- 在 Image[data] 中,data 中的每个元素可以指定任意数量的通道值.
- data 的元素可以是以下任何一个:
-
v 按灰度级,值从 0(黑色)到 1(白色) {r,g,b} 按红色,绿色,蓝色三色渲染,值从 0 到 1 {c1,c2,c3,…} 表示等间隔色调的通道值 color 指定颜色 - 输入数组 data 可以是 List、NumericArray、SparseArray 等.
- Image[data] 默认情况下允许任何实数,但是只显示 0 到 1 之间的数值.
- Image[data,"type"]可用来创建指定数据类型的图像.提供四舍五入或截断,data 中的值被强制为指定的类型. 缺省情况下,假设为 "Real32".
- "type" 的可能设置包括:
-
"Bit" 整数 0 或 1 "Byte" 整数 0 到 255 "Bit16" 整数 0 到 65535 "Real32" 单精度实数(32 位) "Real64" 双精度实数(64 位) - Image[image,"type"] 可被用于类型间的转换.
- Image 被 AtomQ 这样的函数视为原始对象,在模式匹配时同样被视为原始对象.
- 可以指定下面的选项:
-
AlignmentPoint Center 图形中默认与之对齐的点 BaselinePosition Automatic 怎样与周围的文字基线对齐 ColorSpace Automatic 假定数据的颜色空间 ImageResolution Automatic 显示或导出时的分辨率 ImageSize Automatic 显示时图像的大小 Interleaving Automatic 是否假设通道是交错存取的 Magnification Automatic 如何缩放显示的图像 MetaInformation < > 与图像相关的元信息 - ColorSpace->cs 指定数据中的值应被解释为特定色彩空间 cs 中的坐标. ColorSpace->Automatic 则视这些数值为任意通道的强度.
- Image[graphics] 实际上使用 Rasterize[graphics,"Image"] 来栅格化 graphics.
- Image[Raster[…]] 把 Raster 对象转换为图像.
- Image[image,opts] 实际上重置了图像的选项.
- 如 Log、Plus 和 Mean 这样的算术和统计运算可直接用于图像. »
- Image 的 Information 包含以下属性:
-
"Channels" 图像通道 "ColorSpace" 为数据假设的颜色空间 "DataType" 基本数据类型 "ImageDimensions" 像素维度 "Interleaving" 数据是否交错存储 "Transparency" 图像是否有透明 (alpha) 通道
背景
- Image 为网上及其他地方能找到的种类繁多的数字图像格式(例如 GIF、PNG,JPG)提供了统一的符号表示. 特别的,Image 对象包含了表示位图值(或者值列表)的二维数组. 图像通常出现在数字摄影、文本和图片的数字化、科学可视化及各种广泛的其它领域中. 图像中的数据可能有各种不同的值,这取决于图像是否是二值的、灰度的,RGB 的,CMYK 的,包含阿尔法通道的等等.
- 在输出中,Image 是作为实际图像的图片,而不是值的二维数组. Image 对象可以用 Export 输出成各种标准图像格式,用 Import 则可以导入许多格式的图像为 Image 对象. Image 对象也可以通过拖拽从外部应用程序插入笔记本中.
- 任意 Graphics 表达式都可以通过应用 Image 函数转换为图像. 类似的,图像也可以通过应用 Raster 函数转换成位图表达式从而可以和其它 Graphics 图形基元一起配合显示. 函数 Show 可被用于把二维向量图形(或 Graphics 对象)和 Image 结合在一起.
- 图像的像素值数组可用 ImageData 得到. ImageDimensions 会给出与 Image 对象相关的位图的像素尺寸. ImageType 会给出一个标签,表示图像内部每个像素使用的数的类型. Image 自身可被用于在图像类型之间转换,而 ImageAdjust 可被用于把所有的实数值图像的值变换到 0 到 1 的范围之内. 图像包含的通道数量则可用函数 ImageChannels 得到.
- Image 对象中有用的选项包括 ColorSpace、Interleaving、ImageResolution、ImageSize 和 Magnification.
范例
打开所有单元关闭所有单元范围 (18)
创建图像 (11)
默认情况下,假定数据位于 0 到 1 之间,并且产生类型为 "Real32" 的图像:
从 SparseArray 对象创建图像:
从 Graphics 对象创建光栅图像:
从 Graphics3D 对象创建图像:
从 GeoGraphics 对象创建图像:
算术和统计运算 (4)
系统选项 "IndeterminateValue" 的值用于替代包括 ComplexInfinity 和 Indeterminate 等不能存储在图像中的值.
选项 (21)
ColorSpace (8)
ImageResolution (3)
ImageSize (3)
Interleaving (3)
Magnification (2)
MetaInformation (2)
属性和关系 (8)
Image 对象是基元,不可以再细分:
所有 0 以下的数值都显示为黑色,大于 1 的数值都显示为白色:
对于具有范围外的数值的图像,使用 ImageAdjust 把所有数值缩放至 0 到 1 之间:
不同图像类型使用不同位深度. 压缩大小可以使用较小的位深度:
使用 Rasterize 从任何表达式创建图像:
使用 RandomImage 创建具有随机像素值的 Image:
ConstantImage 可以创建常数颜色的 Image:
LinearGradientImage 和 RadialGradientImage 可被用于创建渐变图像:
文本
Wolfram Research (2008),Image,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Image.html (更新于 2019 年).
CMS
Wolfram 语言. 2008. "Image." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2019. https://reference.wolfram.com/language/ref/Image.html.
APA
Wolfram 语言. (2008). Image. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Image.html 年