skimage.color#

skimage.color.combine_stains

将染色剂转换为 RGB 颜色空间。

skimage.color.convert_colorspace

将图像数组转换为新的颜色空间。

skimage.color.deltaE_cie76

Lab 颜色空间中两点之间的欧氏距离。

skimage.color.deltaE_ciede2000

根据 CIEDE 2000 标准的色差。

skimage.color.deltaE_ciede94

根据 CIEDE 94 标准的色差。

skimage.color.deltaE_cmc

来自 CMC l:c 标准的色差。

skimage.color.gray2rgb

创建灰度图像的 RGB 表示。

skimage.color.gray2rgba

创建灰度图像的 RGBA 表示。

skimage.color.hed2rgb

将苏木精-伊红-DAB (HED) 转换为 RGB 颜色空间。

skimage.color.hsv2rgb

将 HSV 转换为 RGB 颜色空间。

skimage.color.lab2lch

将 CIE-LAB 中的图像转换为 CIE-LCh 颜色空间。

skimage.color.lab2rgb

将 CIE-LAB 中的图像转换为 sRGB 颜色空间。

skimage.color.lab2xyz

将 CIE-LAB 中的图像转换为 XYZ 颜色空间。

skimage.color.label2rgb

返回一个 RGB 图像,其中彩色编码的标签被绘制在图像上。

skimage.color.lch2lab

将 CIE-LCh 中的图像转换为 CIE-LAB 颜色空间。

skimage.color.luv2rgb

将 Luv 转换为 RGB 颜色空间。

skimage.color.luv2xyz

将 CIE-Luv 转换为 XYZ 颜色空间。

skimage.color.rgb2gray

计算 RGB 图像的亮度。

skimage.color.rgb2hed

将 RGB 转换为苏木精-伊红-DAB (HED) 颜色空间。

skimage.color.rgb2hsv

将 RGB 转换为 HSV 颜色空间。

skimage.color.rgb2lab

在给定的光源和观察者下,从 sRGB 颜色空间 (IEC 61966-2-1:1999) 转换为 CIE Lab 颜色空间。

skimage.color.rgb2luv

将 RGB 转换为 CIE-Luv 颜色空间。

skimage.color.rgb2rgbcie

将 RGB 转换为 RGB CIE 颜色空间。

skimage.color.rgb2xyz

将 RGB 转换为 XYZ 颜色空间。

skimage.color.rgb2ycbcr

将 RGB 转换为 YCbCr 颜色空间。

skimage.color.rgb2ydbdr

将 RGB 转换为 YDbDr 颜色空间。

skimage.color.rgb2yiq

将 RGB 转换为 YIQ 颜色空间。

skimage.color.rgb2ypbpr

将 RGB 转换为 YPbPr 颜色空间。

skimage.color.rgb2yuv

将 RGB 转换为 YUV 颜色空间。

skimage.color.rgba2rgb

使用 alpha 混合 [1] 进行 RGBA 到 RGB 转换。

skimage.color.rgbcie2rgb

将 RGB CIE 转换为 RGB 颜色空间。

skimage.color.separate_stains

将 RGB 转换为染色剂颜色空间。

skimage.color.xyz2lab

将 XYZ 转换为 CIE-LAB 颜色空间。

skimage.color.xyz2luv

将 XYZ 转换为 CIE-Luv 颜色空间。

skimage.color.xyz2rgb

将 XYZ 转换为 RGB 颜色空间。

skimage.color.xyz_tristimulus_values

获取 CIE XYZ 三刺激值。

skimage.color.ycbcr2rgb

将 YCbCr 转换为 RGB 颜色空间。

skimage.color.ydbdr2rgb

将 YDbDr 转换为 RGB 颜色空间。

skimage.color.yiq2rgb

将 YIQ 转换为 RGB 颜色空间。

skimage.color.ypbpr2rgb

将 YPbPr 转换为 RGB 颜色空间。

skimage.color.yuv2rgb

将 YUV 转换为 RGB 颜色空间。


skimage.color.combine_stains(stains, conv_matrix, *, channel_axis=-1)[source]#

将染色剂转换为 RGB 颜色空间。

参数:
stains(…, C=3, …) array_like

染色剂颜色空间中的图像。默认情况下,最后一位表示通道。

conv_matrix: ndarray

由 G. Landini [1] 描述的染色剂分离矩阵。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

RGB 格式的图像。与输入相同维度。

引发:
ValueError

如果 stains 不至少是 2-D 并且形状为 (…, C=3, …)。

注释

color 模块中可用的染色剂组合矩阵及其各自的颜色空间。

  • rgb_from_hed:苏木精 + 伊红 + DAB

  • rgb_from_hdx:苏木精 + DAB

  • rgb_from_fgx:Feulgen + 淡绿色

  • rgb_from_bex:吉姆萨染色剂:甲基蓝 + 伊红

  • rgb_from_rbd:速红 + 速蓝 + DAB

  • rgb_from_gdx:甲基绿 + DAB

  • rgb_from_hax:苏木精 + AEC

  • rgb_from_bro:蓝色矩阵苯胺蓝 + 红色矩阵偶氮红 + 橙色矩阵橙黄G

  • rgb_from_bpx:甲基蓝 + 胭脂红

  • rgb_from_ahx:苏木精 + 茜素蓝

  • rgb_from_hpx:苏木精 + PAS

参考

[2]

A. C. Ruifrok 和 D. A. Johnston,“通过颜色反卷积对组织化学染色进行量化”,Anal. Quant. Cytol. Histol.,第 23 卷,第 4 期,第 291-299 页,2001 年 8 月。

示例

>>> from skimage import data
>>> from skimage.color import (separate_stains, combine_stains,
...                            hdx_from_rgb, rgb_from_hdx)
>>> ihc = data.immunohistochemistry()
>>> ihc_hdx = separate_stains(ihc, hdx_from_rgb)
>>> ihc_rgb = combine_stains(ihc_hdx, rgb_from_hdx)

skimage.color.convert_colorspace(arr, fromspace, tospace, *, channel_axis=-1)[source]#

将图像数组转换为新的颜色空间。

有效的颜色空间为

‘RGB’, ‘HSV’, ‘RGB CIE’, ‘XYZ’, ‘YUV’, ‘YIQ’, ‘YPbPr’, ‘YCbCr’, ‘YDbDr’

参数:
arr(…, C=3, …) array_like

要转换的图像。默认情况下,最后一位表示通道。

fromspacestr

要从其转换的颜色空间。可以以小写形式指定。

tospacestr

要转换到的颜色空间。可以以小写形式指定。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

转换后的图像。与输入相同维度。

引发:
ValueError

如果 fromspace 不是有效的颜色空间

ValueError

如果 tospace 不是有效的颜色空间

注释

转换是通过“中心”RGB 颜色空间执行的,即从 XYZ 到 HSV 的转换被实现为 XYZ -> RGB -> HSV,而不是直接执行。

示例

>>> from skimage import data
>>> img = data.astronaut()
>>> img_hsv = convert_colorspace(img, 'RGB', 'HSV')

skimage.color.deltaE_cie76(lab1, lab2, channel_axis=-1)[source]#

Lab 颜色空间中两点之间的欧氏距离。

参数:
lab1array_like

参考颜色 (Lab 颜色空间)

lab2array_like

比较颜色 (Lab 颜色空间)

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
dEarray_like

颜色 lab1lab2 之间的距离

参考

[2]

A. R. Robertson,“CIE 1976 色差公式”,Color Res. Appl. 2, 7-11 (1977)。


skimage.color.deltaE_ciede2000(lab1, lab2, kL=1, kC=1, kH=1, *, channel_axis=-1)[source]#

根据 CIEDE 2000 标准的色差。

CIEDE 2000 是 CIDE94 的重大修订版。感知校准主要基于对光滑表面汽车涂料的经验。

参数:
lab1array_like

参考颜色 (Lab 颜色空间)

lab2array_like

比较颜色 (Lab 颜色空间)

kLfloat (范围), 可选

亮度比例因子,对于“可接受的接近”为 1;对于“无法察觉”为 2,请参阅 deltaE_cmc

kCfloat (范围), 可选

色度比例因子,通常为 1

kHfloat (范围), 可选

色调比例因子,通常为 1

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
deltaEarray_like

lab1lab2 之间的距离

注释

CIEDE 2000 假设明度、色度和色调的参数加权因子(分别为 kLkCkH)。这些默认为 1。

参考

[3]

M. Melgosa、J. Quesada 和 E. Hita,“使用精确的颜色差异容差数据集测试一些近期颜色指标的均匀性”,Appl. Opt. 33, 8069-8077 (1994)。


skimage.color.deltaE_ciede94(lab1, lab2, kH=1, kC=1, kL=1, k1=0.045, k2=0.015, *, channel_axis=-1)[source]#

根据 CIEDE 94 标准的色差。

通过使用特定于应用程序的比例因子(kHkCkLk1k2)来适应感知非均匀性。

参数:
lab1array_like

参考颜色 (Lab 颜色空间)

lab2array_like

比较颜色 (Lab 颜色空间)

kHfloat, optional

色调比例

kCfloat, optional

色度比例

kLfloat, optional

明度比例

k1float, optional

第一个比例参数

k2float, optional

第二个比例参数

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
dEarray_like

lab1lab2 之间的颜色差异

注释

deltaE_ciede94 关于 lab1 和 lab2 不对称。CIEDE94 根据第一个颜色定义了明度、色调和色度的比例。因此,第一个颜色应被视为“参考”颜色。

kLk1k2 取决于应用程序,并且默认为建议用于图形艺术的值

参数

图形艺术

纺织品

kL

1.000

2.000

k1

0.045

0.048

k2

0.015

0.014

参考


skimage.color.deltaE_cmc(lab1, lab2, kL=1, kC=1, *, channel_axis=-1)[source]#

来自 CMC l:c 标准的色差。

这种颜色差异是由染色和印染商协会(英国)的色彩测量委员会 (CMC) 开发的。它旨在用于纺织工业。

比例因子 kLkC 设置了赋予明度和色度差异的权重,相对于色调差异。对于“可接受性”,通常值为 kL=2kC=1,对于“不可察觉性”,通常值为 kL=1kC=1。对于给定的比例因子,颜色 dE > 1 是“不同的”。

参数:
lab1array_like

参考颜色 (Lab 颜色空间)

lab2array_like

比较颜色 (Lab 颜色空间)

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
dEarray_like

颜色 lab1lab2 之间的距离

注释

deltaE_cmc 根据第一个颜色定义了明度、色调和色度的比例。因此 deltaE_cmc(lab1, lab2) != deltaE_cmc(lab2, lab1)

参考

[3]

F. J. J. Clarke、R. McDonald 和 B. Rigg,“对 JPC79 颜色差异公式的修改”,J. Soc. Dyers Colour. 100, 128-132 (1984)。


skimage.color.gray2rgb(image, *, channel_axis=-1)[source]#

创建灰度图像的 RGB 表示。

参数:
imagearray_like

输入图像。

channel_axisint, 可选

此参数指示输出数组的哪个轴将对应于通道。

返回值:
rgb(…, C=3, …) ndarray

RGB 图像。向输入图像添加一个长度为 3 的新维度。

注释

如果输入是形状为 (M,) 的一维图像,则输出将为形状 (M, C=3)

给灰度图像着色

给灰度图像着色

圆形和椭圆形霍夫变换

圆形和椭圆形霍夫变换

基于区域边界区域邻接图 (RAG)

基于区域边界区域邻接图 (RAG)

skimage.color.gray2rgba(image, alpha=None, *, channel_axis=-1)[source]#

创建灰度图像的 RGBA 表示。

参数:
imagearray_like

输入图像。

alphaarray_like, optional

输出图像的 alpha 通道。它可以是标量或可以广播到 image 的数组。如果未指定,则将其设置为与 image dtype 相对应的最大限制。

channel_axisint, 可选

此参数指示输出数组的哪个轴将对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
rgbandarray

RGBA 图像。向输入图像形状添加一个长度为 4 的新维度。


skimage.color.hed2rgb(hed, *, channel_axis=-1)[source]#

将苏木精-伊红-DAB (HED) 转换为 RGB 颜色空间。

参数:
hed(…, C=3, …) array_like

HED 颜色空间中的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

RGB 中的图像。与输入具有相同的维度。

引发:
ValueError

如果 hed 的维度至少不是 2 维,形状为 (…, C=3, …)。

参考

[1]

A. C. Ruifrok 和 D. A. Johnston,“通过颜色反卷积量化组织化学染色。”,分析和定量细胞学和组织学 / 国际细胞学学会 [和] 美国细胞学学会,第 23 卷,第 4 期,第 291-9 页,2001 年 8 月。

示例

>>> from skimage import data
>>> from skimage.color import rgb2hed, hed2rgb
>>> ihc = data.immunohistochemistry()
>>> ihc_hed = rgb2hed(ihc)
>>> ihc_rgb = hed2rgb(ihc_hed)

分离免疫组织化学染色中的颜色

分离免疫组织化学染色中的颜色

skimage.color.hsv2rgb(hsv, *, channel_axis=-1)[source]#

将 HSV 转换为 RGB 颜色空间。

参数:
hsv(…, C=3, …) array_like

HSV 格式的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

RGB 格式的图像。与输入相同维度。

引发:
ValueError

如果 hsv 的维度至少不是 2 维,形状为 (…, C=3, …)。

注释

RGB 和 HSV 颜色空间之间的转换会导致一些精度损失,这是由于整数运算和舍入造成的 [1]

参考

示例

>>> from skimage import data
>>> img = data.astronaut()
>>> img_hsv = rgb2hsv(img)
>>> img_rgb = hsv2rgb(img_hsv)

给灰度图像着色

给灰度图像着色

洪水填充

洪水填充

skimage.color.lab2lch(lab, *, channel_axis=-1)[source]#

将 CIE-LAB 中的图像转换为 CIE-LCh 颜色空间。

CIE-LCh 是 CIE-LAB(笛卡尔)颜色空间的圆柱形表示。

参数:
lab(…, C=3, …) array_like

CIE-LAB 颜色空间中的输入图像。除非设置了 channel_axis,否则最后一个维度表示 CIE-LAB 通道。L* 值范围为 0 到 100;a* 和 b* 值范围为 -128 到 127。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

CIE-LCh 颜色空间中的图像,与输入具有相同的形状。

引发:
ValueError

如果 lab 没有至少 3 个通道(即 L*、a* 和 b*)。

另请参阅

lch2lab

注释

h 通道(即色调)表示为范围 (0, 2*pi) 内的角度。

参考

示例

>>> from skimage import data
>>> from skimage.color import rgb2lab, lab2lch
>>> img = data.astronaut()
>>> img_lab = rgb2lab(img)
>>> img_lch = lab2lch(img_lab)

skimage.color.lab2rgb(lab, illuminant='D65', observer='2', *, channel_axis=-1)[source]#

将 CIE-LAB 中的图像转换为 sRGB 颜色空间。

参数:
lab(…, C=3, …) array_like

CIE-LAB 颜色空间中的输入图像。除非设置了 channel_axis,否则最后一个维度表示 CIE-LAB 通道。L* 值范围为 0 到 100;a* 和 b* 值范围为 -128 到 127。

illuminant{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”}, 可选

光源名称(函数不区分大小写)。

observer{“2”, “10”, “R”}, 可选

观察者的孔径角。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

sRGB 颜色空间中的图像,形状与输入相同。

引发:
ValueError

如果 lab 的维度小于 2 或形状不是 (…, C=3, …) 。

另请参阅

rgb2lab

注释

该函数使用 lab2xyz()xyz2rgb()。CIE XYZ 三刺激值的参考值为 x_ref = 95.047,y_ref = 100. 和 z_ref = 108.883。有关支持的光源列表,请参见函数 xyz_tristimulus_values()

参考


skimage.color.lab2xyz(lab, illuminant='D65', observer='2', *, channel_axis=-1)[source]#

将 CIE-LAB 中的图像转换为 XYZ 颜色空间。

参数:
lab(…, C=3, …) array_like

CIE-LAB 颜色空间中的输入图像。除非设置了 channel_axis,否则最后一个维度表示 CIE-LAB 通道。L* 值范围为 0 到 100;a* 和 b* 值范围为 -128 到 127。

illuminant{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”}, 可选

光源名称(函数不区分大小写)。

observer{“2”, “10”, “R”}, 可选

观察者的孔径角。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

XYZ 颜色空间中的图像,形状与输入相同。

引发:
ValueError

如果 lab 的维度小于 2 或形状不是 (…, C=3, …) 。

ValueError

如果光源或观察者角度不支持或未知。

UserWarning

如果任何像素无效 (Z < 0)。

另请参阅

xyz2lab

注释

CIE XYZ 三刺激值的参考值为 x_ref = 95.047,y_ref = 100. 和 z_ref = 108.883。有关支持的光源列表,请参见函数 xyz_tristimulus_values()

参考


skimage.color.label2rgb(label, image=None, colors=None, alpha=0.3, bg_label=0, bg_color=(0, 0, 0), image_alpha=1, kind='overlay', *, saturation=0, channel_axis=-1)[source]#

返回一个 RGB 图像,其中彩色编码的标签被绘制在图像上。

参数:
labelndarray

标签的整数数组,形状与 image 相同。

imagendarray, 可选

用作标签底层的图像。它应该与 labels 具有相同的形状,可选地包含一个额外的 RGB(通道)轴。如果 image 是 RGB 图像,则在着色之前将其转换为灰度图像。

colorslist, 可选

颜色列表。如果标签数量超过颜色数量,则颜色将循环使用。

alphafloat [0, 1], 可选

着色标签的不透明度。如果 image 为 None,则忽略。

bg_labelint, 可选

被视为背景的标签。如果指定了 bg_labelbg_colorNone,并且 kindoverlay,则不会用任何颜色绘制背景。

bg_colorstr 或 array, 可选

背景颜色。必须是 skimage.color.color_dict 中的名称或 [0, 1] 之间的 RGB 浮点数。

image_alphafloat [0, 1], 可选

图像的不透明度。

kindstring, 其中一个 {‘overlay’, ‘avg’}

所需的彩色图像类型。‘overlay’ 在定义的颜色上循环,并将彩色标签叠加在原始图像上。‘avg’ 用每个标记段的平均颜色替换每个标记段,以实现染色类或柔和绘画外观。

saturationfloat [0, 1], 可选

控制应用于原始图像的饱和度的参数,介于完全饱和(原始 RGB,saturation=1)和完全不饱和(灰度,saturation=0)之间。仅在 kind=’overlay’ 时适用。

channel_axisint, 可选

此参数指示输出数组的哪个轴对应于通道。如果提供了 image,则它也必须与 image 对应于通道的轴匹配。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
resultndarray of float, 与 image 形状相同

将循环颜色映射 (colors) 与图像混合的结果,每个 label 中的独特值都有一个相应的颜色,并使用特定 alpha 值。

移除对象

移除对象

用于纹理分类的局部二值模式

用于纹理分类的局部二值模式

区域邻接图 (RAG) 阈值化

区域邻接图 (RAG) 阈值化

归一化切割

归一化切割

使用紧凑型分水岭查找规则段

使用紧凑型分水岭查找规则段

扩展分段标签,但不重叠

扩展分段标签,但不重叠

标记图像区域

标记图像区域

查找两个分段的交集

查找两个分段的交集

区域邻接图 (RAG) 合并

区域邻接图 (RAG) 合并

区域边界 RAG 的层次合并

区域边界 RAG 的层次合并

极值

极值

使用像素图查找对象的测地线中心

使用像素图查找对象的测地线中心

比较基于边缘和基于区域的分段

比较基于边缘和基于区域的分段

分割人细胞(处于有丝分裂状态)

分割人细胞(处于有丝分裂状态)

使用修复恢复斑点角膜图像

使用修复恢复斑点角膜图像

skimage.color.lch2lab(lch, *, channel_axis=-1)[source]#

将 CIE-LCh 中的图像转换为 CIE-LAB 颜色空间。

CIE-LCh 是 CIE-LAB(笛卡尔)颜色空间的圆柱形表示。

参数:
lch(…, C=3, …) array_like

CIE-LCh 颜色空间中的输入图像。除非设置了 channel_axis,否则最后一个维度表示 CIE-LAB 通道。L* 值范围为 0 到 100;C 值范围为 0 到 100;h 值范围为 0 到 2*pi

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

CIE-LAB 格式的图像,形状与输入相同。

引发:
ValueError

如果 lch 的通道数少于 3(即,L*、C 和 h)。

另请参阅

lab2lch

注释

h 通道(即色调)表示为范围 (0, 2*pi) 内的角度。

参考

示例

>>> from skimage import data
>>> from skimage.color import rgb2lab, lch2lab, lab2lch
>>> img = data.astronaut()
>>> img_lab = rgb2lab(img)
>>> img_lch = lab2lch(img_lab)
>>> img_lab2 = lch2lab(img_lch)

skimage.color.luv2rgb(luv, *, channel_axis=-1)[source]#

将 Luv 转换为 RGB 颜色空间。

参数:
luv(…, C=3, …) array_like

CIE Luv 格式的图像。默认情况下,最后一个维度表示通道。

返回值:
out(…, C=3, …) ndarray

RGB 格式的图像。与输入相同维度。

引发:
ValueError

如果 luv 的维度小于 2 或形状不是 (…, C=3, …) 。

注释

该函数使用 luv2xyz 和 xyz2rgb。


skimage.color.luv2xyz(luv, illuminant='D65', observer='2', *, channel_axis=-1)[source]#

将 CIE-Luv 转换为 XYZ 颜色空间。

参数:
luv(…, C=3, …) array_like

CIE-Luv 格式的图像。默认情况下,最后一个维度表示通道。

illuminant{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”}, 可选

光源名称(函数不区分大小写)。

observer{“2”, “10”, “R”}, 可选

观察者的孔径角。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

XYZ 格式的图像。维度与输入相同。

引发:
ValueError

如果 luv 的维度小于 2 或形状不是 (…, C=3, …) 。

ValueError

如果光源或观察者角度不支持或未知。

注释

XYZ 转换权重使用 observer=2A。D65 光源的参考白点,XYZ 三刺激值为 (95.047, 100., 108.883)。有关支持的光源列表,请参见函数 xyz_tristimulus_values()

参考


skimage.color.rgb2gray(rgb, *, channel_axis=-1)[source]#

计算 RGB 图像的亮度。

参数:
rgb(…, C=3, …) array_like

RGB 格式的图像。默认情况下,最后一个维度表示通道。

返回值:
outndarray

亮度图像 - 一个与输入数组大小相同的数组,但去掉了通道维度。

引发:
ValueError

如果 rgb 的维度小于 2 或形状不是 (…, C=3, …) 。

注释

此转换中使用的权重针对当代 CRT 荧光粉进行了校准

Y = 0.2125 R + 0.7154 G + 0.0721 B

如果有 alpha 通道,则会忽略。

参考

示例

>>> from skimage.color import rgb2gray
>>> from skimage import data
>>> img = data.astronaut()
>>> img_gray = rgb2gray(img)

图像/数组上的块视图

图像/数组上的块视图

RGB 到灰度

RGB 到灰度

将灰度滤波器应用于 RGB 图像

将灰度滤波器应用于 RGB 图像

主动轮廓模型

主动轮廓模型

脊线算子

脊线算子

圆形和椭圆形霍夫变换

圆形和椭圆形霍夫变换

重新缩放、调整大小和缩小尺寸

重新缩放、调整大小和缩小尺寸

基本矩阵估计

基本矩阵估计

使用 RANSAC 进行鲁棒匹配

使用 RANSAC 进行鲁棒匹配

使用光流进行配准

使用光流进行配准

使用极坐标和对数极坐标变换进行配准

使用极坐标和对数极坐标变换进行配准

使用顶帽滤波器去除灰度图像中的小物体

使用顶帽滤波器去除灰度图像中的小物体

图像反卷积

图像反卷积

在图像中使用窗口函数

在图像中使用窗口函数

图像反卷积

图像反卷积

估计模糊强度

估计模糊强度

相位解缠

相位解缠

使用 J-不变性校准降噪器

使用 J-不变性校准降噪器

CENSURE 特征检测器

CENSURE 特征检测器

移除对象

移除对象

斑点检测

斑点检测

ORB 特征检测器和二进制描述符

ORB 特征检测器和二进制描述符

从图像中提取 Gabor 滤波器 / 初级视觉皮层“简单细胞”

从图像中提取 Gabor 滤波器 / 初级视觉皮层“简单细胞”

BRIEF 二进制描述符

BRIEF 二进制描述符

SIFT 特征检测器和描述符提取器

SIFT 特征检测器和描述符提取器

基于区域边界区域邻接图 (RAG)

基于区域边界区域邻接图 (RAG)

应用 maskSLIC 与 SLIC

应用 maskSLIC 与 SLIC

分割和超像素算法的比较

分割和超像素算法的比较

区域边界 RAG 的层次合并

区域边界 RAG 的层次合并

极值

极值

使用像素图查找对象的测地线中心

使用像素图查找对象的测地线中心

skimage.color.rgb2hed(rgb, *, channel_axis=-1)[source]#

将 RGB 转换为苏木精-伊红-DAB (HED) 颜色空间。

参数:
rgb(…, C=3, …) array_like

RGB 格式的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

HED 格式的图像。与输入相同维度。

引发:
ValueError

如果 rgb 的维度小于 2 或形状不是 (…, C=3, …) 。

参考

[1]

A. C. Ruifrok 和 D. A. Johnston,“通过颜色反卷积量化组织化学染色。”,分析和定量细胞学和组织学 / 国际细胞学学会 [和] 美国细胞学学会,第 23 卷,第 4 期,第 291-9 页,2001 年 8 月。

示例

>>> from skimage import data
>>> from skimage.color import rgb2hed
>>> ihc = data.immunohistochemistry()
>>> ihc_hed = rgb2hed(ihc)

分离免疫组织化学染色中的颜色

分离免疫组织化学染色中的颜色

skimage.color.rgb2hsv(rgb, *, channel_axis=-1)[source]#

将 RGB 转换为 HSV 颜色空间。

参数:
rgb(…, C=3, …) array_like

RGB 格式的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

HSV 格式的图像。与输入相同维度。

引发:
ValueError

如果 rgb 的维度小于 2 或形状不是 (…, C=3, …) 。

注释

在 RGB 和 HSV 颜色空间之间转换会导致一些精度损失,这是由于整数运算和舍入造成的 [1].

参考

示例

>>> from skimage import color
>>> from skimage import data
>>> img = data.astronaut()
>>> img_hsv = color.rgb2hsv(img)

RGB 到 HSV

RGB 到 HSV

给灰度图像着色

给灰度图像着色

洪水填充

洪水填充

skimage.color.rgb2lab(rgb, illuminant='D65', observer='2', *, channel_axis=-1)[source]#

在给定的光源和观察者下,从 sRGB 颜色空间 (IEC 61966-2-1:1999) 转换为 CIE Lab 颜色空间。

参数:
rgb(…, C=3, …) array_like

RGB 格式的图像。默认情况下,最后一个维度表示通道。

illuminant{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”}, 可选

光源名称(函数不区分大小写)。

observer{“2”, “10”, “R”}, 可选

观察者的孔径角。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

Lab 格式的图像。与输入相同维度。

引发:
ValueError

如果 rgb 的维度小于 2 或形状不是 (…, C=3, …) 。

注释

RGB 是一个与设备相关的颜色空间,因此,如果您使用此函数,请确保您正在分析的图像已映射到 sRGB 颜色空间。

此函数使用 rgb2xyz 和 xyz2lab。默认情况下,Observer=”2”,Illuminant=”D65”。CIE XYZ 三刺激值 x_ref=95.047,y_ref=100.,z_ref=108.883。有关支持的光源列表,请参见函数 xyz_tristimulus_values().

参考


skimage.color.rgb2luv(rgb, *, channel_axis=-1)[source]#

将 RGB 转换为 CIE-Luv 颜色空间。

参数:
rgb(…, C=3, …) array_like

RGB 格式的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

CIE Luv 格式的图像。与输入相同维度。

引发:
ValueError

如果 rgb 的维度小于 2 或形状不是 (…, C=3, …) 。

注释

此函数使用 rgb2xyz 和 xyz2luv。

参考


skimage.color.rgb2rgbcie(rgb, *, channel_axis=-1)[source]#

将 RGB 转换为 RGB CIE 颜色空间。

参数:
rgb(…, C=3, …) array_like

RGB 格式的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

RGB CIE 格式的图像。与输入相同维度。

引发:
ValueError

如果 rgb 的维度小于 2 或形状不是 (…, C=3, …) 。

参考

示例

>>> from skimage import data
>>> from skimage.color import rgb2rgbcie
>>> img = data.astronaut()
>>> img_rgbcie = rgb2rgbcie(img)

skimage.color.rgb2xyz(rgb, *, channel_axis=-1)[source]#

将 RGB 转换为 XYZ 颜色空间。

参数:
rgb(…, C=3, …) array_like

RGB 格式的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

XYZ 格式的图像。维度与输入相同。

引发:
ValueError

如果 rgb 的维度小于 2 或形状不是 (…, C=3, …) 。

注释

CIE XYZ 颜色空间源自 CIE RGB 颜色空间。但是请注意,此函数从 sRGB 进行转换。

参考

示例

>>> from skimage import data
>>> img = data.astronaut()
>>> img_xyz = rgb2xyz(img)

skimage.color.rgb2ycbcr(rgb, *, channel_axis=-1)[source]#

将 RGB 转换为 YCbCr 颜色空间。

参数:
rgb(…, C=3, …) array_like

RGB 格式的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

YCbCr 格式的图像。与输入相同维度。

引发:
ValueError

如果 rgb 的维度小于 2 或形状不是 (…, C=3, …) 。

注释

Y 在 16 到 235 之间。这是视频编解码器通常使用的颜色空间;有时被错误地称为“YUV”。

参考


skimage.color.rgb2ydbdr(rgb, *, channel_axis=-1)[source]#

将 RGB 转换为 YDbDr 颜色空间。

参数:
rgb(…, C=3, …) array_like

RGB 格式的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

YDbDr 格式的图像。与输入相同维度。

引发:
ValueError

如果 rgb 的维度小于 2 或形状不是 (…, C=3, …) 。

注释

这是视频编解码器通常使用的颜色空间。它也是 JPEG2000 中的可逆颜色变换。

参考


skimage.color.rgb2yiq(rgb, *, channel_axis=-1)[source]#

将 RGB 转换为 YIQ 颜色空间。

参数:
rgb(…, C=3, …) array_like

RGB 格式的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

YIQ 格式的图像。与输入相同维度。

引发:
ValueError

如果 rgb 的维度小于 2 或形状不是 (…, C=3, …) 。


skimage.color.rgb2ypbpr(rgb, *, channel_axis=-1)[source]#

将 RGB 转换为 YPbPr 颜色空间。

参数:
rgb(…, C=3, …) array_like

RGB 格式的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

YPbPr 格式的图像。与输入相同维度。

引发:
ValueError

如果 rgb 的维度小于 2 或形状不是 (…, C=3, …) 。

参考


skimage.color.rgb2yuv(rgb, *, channel_axis=-1)[source]#

将 RGB 转换为 YUV 颜色空间。

参数:
rgb(…, C=3, …) array_like

RGB 格式的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

YUV 格式的图像。与输入相同维度。

引发:
ValueError

如果 rgb 的维度小于 2 或形状不是 (…, C=3, …) 。

注释

Y 在 0 到 1 之间。对于视频编解码器通常使用的颜色空间,请使用 YCbCr 而不是 YUV,其中 Y 的范围从 16 到 235。

参考


skimage.color.rgba2rgb(rgba, background=(1, 1, 1), *, channel_axis=-1)[source]#

使用 alpha 混合进行 RGBA 到 RGB 转换 [1].

参数:
rgba(…, C=4, …) array_like

RGBA 格式的图像。默认情况下,最后一维表示通道。

backgroundarray_like

要与图像混合的背景颜色(3 个浮点数介于 0 到 1 之间 - 背景的 RGB 值)。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

RGB 格式的图像。与输入相同维度。

引发:
ValueError

如果 rgba 的维度至少不是 2D,形状为 (…, 4, …)。

参考

示例

>>> from skimage import color
>>> from skimage import data
>>> img_rgba = data.logo()
>>> img_rgb = color.rgba2rgb(img_rgba)

skimage.color.rgbcie2rgb(rgbcie, *, channel_axis=-1)[source]#

将 RGB CIE 转换为 RGB 颜色空间。

参数:
rgbcie(…, C=3, …) array_like

RGB CIE 格式的图像。默认情况下,最后一维表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

RGB 格式的图像。与输入相同维度。

引发:
ValueError

如果 rgbcie 的维度至少不是 2D,形状为 (…, C=3, …)。

参考

示例

>>> from skimage import data
>>> from skimage.color import rgb2rgbcie, rgbcie2rgb
>>> img = data.astronaut()
>>> img_rgbcie = rgb2rgbcie(img)
>>> img_rgb = rgbcie2rgb(img_rgbcie)

skimage.color.separate_stains(rgb, conv_matrix, *, channel_axis=-1)[source]#

将 RGB 转换为染色剂颜色空间。

参数:
rgb(…, C=3, …) array_like

RGB 格式的图像。默认情况下,最后一个维度表示通道。

conv_matrix: ndarray

由 G. Landini 描述的染色分离矩阵 [1]

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

染色颜色空间中的图像。与输入维度相同。

引发:
ValueError

如果 rgb 的维度小于 2 或形状不是 (…, C=3, …) 。

注释

color 模块中可用的染色分离矩阵及其对应的颜色空间

  • hed_from_rgb: 苏木精 + 伊红 + DAB

  • hdx_from_rgb: 苏木精 + DAB

  • fgx_from_rgb: 福尔根 + 淡绿色

  • bex_from_rgb: 吉姆萨染色: 甲基蓝 + 伊红

  • rbd_from_rgb: 快速红 + 快速蓝 + DAB

  • gdx_from_rgb: 甲基绿 + DAB

  • hax_from_rgb: 苏木精 + AEC

  • bro_from_rgb: 蓝色矩阵苯胺蓝 + 红色矩阵偶氮红 + 橙色矩阵橙色-G

  • bpx_from_rgb: 甲基蓝 + 蓬梭品红

  • ahx_from_rgb: 藻蓝 + 苏木精

  • hpx_from_rgb: 苏木精 + PAS

此实现借鉴了 DIPlib [2] 中的一些想法,例如使用一个较小的值来补偿,以避免在计算比尔-朗伯定律时出现对数伪影。

参考

[3]

A. C. Ruifrok 和 D. A. Johnston,“通过颜色反卷积对组织化学染色进行量化”,Anal. Quant. Cytol. Histol.,第 23 卷,第 4 期,第 291-299 页,2001 年 8 月。

示例

>>> from skimage import data
>>> from skimage.color import separate_stains, hdx_from_rgb
>>> ihc = data.immunohistochemistry()
>>> ihc_hdx = separate_stains(ihc, hdx_from_rgb)

skimage.color.xyz2lab(xyz, illuminant='D65', observer='2', *, channel_axis=-1)[source]#

将 XYZ 转换为 CIE-LAB 颜色空间。

参数:
xyz(…, C=3, …) array_like

以 XYZ 格式表示的图像。默认情况下,最后一个维度表示通道。

illuminant{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”}, 可选

光源名称(函数不区分大小写)。

observer{“2”, “10”, “R”}, 可选

以下之一:2 度观察者、10 度观察者或 R 观察者,如 R 函数 grDevices::convertColor 中所示。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

以 CIE-LAB 格式表示的图像。与输入维度相同。

引发:
ValueError

如果 xyz 的维度至少不是 2 维,形状为 (…, C=3, …) 。

ValueError

如果光源或观察角度不受支持或未知。

注释

默认情况下,观察者=”2”,光源=”D65”。CIE XYZ 三刺激值 x_ref=95.047, y_ref=100., z_ref=108.883。有关支持的光源列表,请参见函数 xyz_tristimulus_values()

参考

示例

>>> from skimage import data
>>> from skimage.color import rgb2xyz, xyz2lab
>>> img = data.astronaut()
>>> img_xyz = rgb2xyz(img)
>>> img_lab = xyz2lab(img_xyz)

skimage.color.xyz2luv(xyz, illuminant='D65', observer='2', *, channel_axis=-1)[source]#

将 XYZ 转换为 CIE-Luv 颜色空间。

参数:
xyz(…, C=3, …) array_like

以 XYZ 格式表示的图像。默认情况下,最后一个维度表示通道。

illuminant{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”}, 可选

光源名称(函数不区分大小写)。

observer{“2”, “10”, “R”}, 可选

观察者的孔径角。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

以 CIE-Luv 格式表示的图像。与输入维度相同。

引发:
ValueError

如果 xyz 的维度至少不是 2 维,形状为 (…, C=3, …) 。

ValueError

如果光源或观察者角度不支持或未知。

注释

默认情况下,XYZ 转换权重使用观察者=2A。D65 光源的参考白点,其 XYZ 三刺激值为 (95.047, 100., 108.883)。有关支持的光源列表,请参见函数 xyz_tristimulus_values()

参考

示例

>>> from skimage import data
>>> from skimage.color import rgb2xyz, xyz2luv
>>> img = data.astronaut()
>>> img_xyz = rgb2xyz(img)
>>> img_luv = xyz2luv(img_xyz)

skimage.color.xyz2rgb(xyz, *, channel_axis=-1)[source]#

将 XYZ 转换为 RGB 颜色空间。

参数:
xyz(…, C=3, …) array_like

以 XYZ 格式表示的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

RGB 格式的图像。与输入相同维度。

引发:
ValueError

如果 xyz 的维度至少不是 2 维,形状为 (…, C=3, …) 。

注释

CIE XYZ 颜色空间源于 CIE RGB 颜色空间。但是请注意,此函数转换为 sRGB。

参考

示例

>>> from skimage import data
>>> from skimage.color import rgb2xyz, xyz2rgb
>>> img = data.astronaut()
>>> img_xyz = rgb2xyz(img)
>>> img_rgb = xyz2rgb(img_xyz)

skimage.color.xyz_tristimulus_values(*, illuminant, observer, dtype=<class 'float'>)[source]#

获取 CIE XYZ 三刺激值。

给定光源和观察者,此函数返回 CIE XYZ 三刺激值 [2],其比例因子使得 \(Y = 1\)

参数:
illuminant{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”}

光源名称(函数不区分大小写)。

observer{“2”, “10”, “R”}

以下之一:2 度观察者、10 度观察者或 R 观察者,如 R 函数 grDevices::convertColor [3] 中所示。

dtype: dtype, 可选

输出数据类型。

返回值:
valuesarray

包含给定光源的 CIE XYZ 三刺激值的 3 个元素 \(X, Y, Z\) 的数组。

引发:
ValueError

如果光源或观察者角度不支持或未知。

注释

CIE XYZ 三刺激值由 \(x, y\) [1] 计算得出,使用以下公式

\[X = x / y\]
\[Y = 1\]
\[Z = (1 - x - y) / y\]

唯一的例外是孔径角为 2° 的光源“D65”,这是出于向后兼容性的原因。

参考

示例

获取 10 度视场的光源“D65”的 CIE XYZ 三刺激值

>>> xyz_tristimulus_values(illuminant="D65", observer="10")
array([0.94809668, 1.        , 1.07305136])

skimage.color.ycbcr2rgb(ycbcr, *, channel_axis=-1)[source]#

将 YCbCr 转换为 RGB 颜色空间。

参数:
ycbcr(…, C=3, …) array_like

以 YCbCr 格式表示的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

RGB 格式的图像。与输入相同维度。

引发:
ValueError

如果 ycbcr 的维度至少不是 2 维,形状为 (…, C=3, …) 。

注释

Y 在 16 到 235 之间。这是视频编解码器通常使用的颜色空间;有时被错误地称为“YUV”。

参考


skimage.color.ydbdr2rgb(ydbdr, *, channel_axis=-1)[source]#

将 YDbDr 转换为 RGB 颜色空间。

参数:
ydbdr(…, C=3, …) array_like

以 YDbDr 格式表示的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

RGB 格式的图像。与输入相同维度。

引发:
ValueError

如果 ydbdr 的维度至少不是 2 维,形状为 (…, C=3, …) 。

注释

这是视频编解码器通常使用的颜色空间,也称为 JPEG2000 中的可逆颜色变换。

参考


skimage.color.yiq2rgb(yiq, *, channel_axis=-1)[source]#

将 YIQ 转换为 RGB 颜色空间。

参数:
yiq(…, C=3, …) array_like

以 YIQ 格式表示的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

RGB 格式的图像。与输入相同维度。

引发:
ValueError

如果 yiq 的维度至少不是 2 维,形状为 (…, C=3, …) 。


skimage.color.ypbpr2rgb(ypbpr, *, channel_axis=-1)[source]#

将 YPbPr 转换为 RGB 颜色空间。

参数:
ypbpr(…, C=3, …) array_like

以 YPbPr 格式表示的图像。默认情况下,最后一个维度表示通道。

channel_axisint, 可选

此参数指示数组的哪个轴对应于通道。

在版本 0.19 中添加: channel_axis 在 0.19 中添加。

返回值:
out(…, C=3, …) ndarray

RGB 格式的图像。与输入相同维度。

引发:
ValueError

如果 ypbpr 的维度至少不是 2 维,形状为 (…, C=3, …) 。

参考


skimage.color.yuv2rgb(yuv, *, channel_axis=-1)[source]#

将 YUV 转换为 RGB 颜色空间。

参数:
yuv(…, C=3, …) array_like

YUV 格式的图像。默认情况下,最后一个维度表示通道。

返回值:
out(…, C=3, …) ndarray

RGB 格式的图像。与输入相同维度。

引发:
ValueError

如果 yuv 不是至少二维且形状为 (…, C=3, …) 的。

参考