skimage.color#

颜色空间转换。

combine_stains

污渍到 RGB 颜色空间的转换。

convert_colorspace

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

deltaE_cie76

Lab 颜色空间中两点之间的欧几里得距离

deltaE_ciede2000

CIEDE 2000 标准给出的色差。

deltaE_ciede94

根据 CIEDE 94 标准的色差

deltaE_cmc

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

gray2rgb

创建灰度图像的 RGB 表示形式。

gray2rgba

创建灰度图像的 RGBA 表示形式。

hed2rgb

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

hsv2rgb

HSV 到 RGB 颜色空间的转换。

lab2lch

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

lab2rgb

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

lab2xyz

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

label2rgb

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

lch2lab

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

luv2rgb

Luv 到 RGB 颜色空间的转换。

luv2xyz

CIE-Luv 到 XYZ 颜色空间的转换。

rgb2gray

计算 RGB 图像的亮度。

rgb2hed

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

rgb2hsv

RGB 到 HSV 颜色空间的转换。

rgb2lab

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

rgb2luv

RGB 到 CIE-Luv 颜色空间的转换。

rgb2rgbcie

RGB 到 RGB CIE 颜色空间的转换。

rgb2xyz

RGB 到 XYZ 颜色空间的转换。

rgb2ycbcr

RGB 到 YCbCr 颜色空间的转换。

rgb2ydbdr

RGB 到 YDbDr 颜色空间的转换。

rgb2yiq

RGB 到 YIQ 颜色空间的转换。

rgb2ypbpr

RGB 到 YPbPr 颜色空间的转换。

rgb2yuv

RGB 到 YUV 颜色空间的转换。

rgba2rgb

使用 alpha 混合将 RGBA 转换为 RGB [1]

rgbcie2rgb

RGB CIE 到 RGB 颜色空间的转换。

separate_stains

RGB 到污渍颜色空间的转换。

xyz2lab

XYZ 到 CIE-LAB 颜色空间的转换。

xyz2luv

XYZ 到 CIE-Luv 颜色空间的转换。

xyz2rgb

XYZ 到 RGB 颜色空间的转换。

xyz_tristimulus_values

获取 CIE XYZ 三刺激值。

ycbcr2rgb

YCbCr 到 RGB 颜色空间的转换。

ydbdr2rgb

YDbDr 到 RGB 颜色空间的转换。

yiq2rgb

YIQ 到 RGB 颜色空间的转换。

ypbpr2rgb

YPbPr 到 RGB 颜色空间的转换。

yuv2rgb

YUV 到 RGB 颜色空间的转换。


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

污渍到 RGB 颜色空间的转换。

参数:
stains(…, C=3, …) 类似数组

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

conv_matrix: ndarray

G. Landini [1] 描述的污渍分离矩阵。

channel_axisint,可选

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

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

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

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

引发:
ValueError

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

备注

color 模块中可用的污渍组合矩阵及其各自的颜色空间

  • rgb_from_hed:苏木精 + 伊红 + DAB

  • rgb_from_hdx:苏木精 + DAB

  • rgb_from_fgx:福尔根 + 淡绿

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

  • rgb_from_rbd:FastRed + FastBlue + 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., vol. 23, no. 4, pp. 291–299, Aug. 2001。

示例

>>> 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, …) 类似数组

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

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 颜色空间中两点之间的欧几里得距离

参数:
lab1类似数组

参考颜色(Lab 颜色空间)

lab2类似数组

比较颜色(Lab 颜色空间)

channel_axisint,可选

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

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

返回:
dE类似数组

颜色 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)[源代码]#

CIEDE 2000 标准给出的色差。

CIEDE 2000 是 CIEDE94 的主要修订版。其感知校准主要基于在光滑表面上使用汽车涂料的经验。

参数:
lab1类似数组

参考颜色(Lab 颜色空间)

lab2类似数组

比较颜色(Lab 颜色空间)

kL浮点数(范围),可选

明度比例因子,1 表示“可接受地接近”;2 表示“难以察觉”,请参阅 deltaE_cmc

kC浮点数(范围),可选

色度比例因子,通常为 1

kH浮点数(范围),可选

色调比例因子,通常为 1

channel_axisint,可选

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

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

返回:
deltaE类数组

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)[源代码]#

根据 CIEDE 94 标准的色差

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

参数:
lab1类似数组

参考颜色(Lab 颜色空间)

lab2类似数组

比较颜色(Lab 颜色空间)

kH浮点数,可选

色调比例

kC浮点数,可选

色度比例

kL浮点数,可选

明度比例

k1浮点数,可选

第一个比例参数

k2浮点数,可选

第二个比例参数

channel_axisint,可选

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

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

返回:
dE类似数组

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)[源代码]#

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

此色差由染料和着色剂协会(英国)的颜色测量委员会 (CMC) 开发。它旨在用于纺织工业。

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

参数:
lab1类似数组

参考颜色(Lab 颜色空间)

lab2类似数组

比较颜色(Lab 颜色空间)

channel_axisint,可选

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

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

返回:
dE类似数组

颜色 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)[源代码]#

创建灰度图像的 RGB 表示形式。

参数:
image类数组

输入图像。

channel_axisint,可选

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

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

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

备注

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

为灰度图像着色

为灰度图像着色

圆形和椭圆形霍夫变换

圆形和椭圆形霍夫变换

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

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

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

创建灰度图像的 RGBA 表示形式。

参数:
image类数组

输入图像。

alpha类数组,可选

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

channel_axisint,可选

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

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

返回:
rgbandarray

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


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

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

参数:
hed(…, C=3, …) 类数组

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,“通过颜色反卷积量化组织化学染色”,Analytical and quantitative cytology and histology / the International Academy of Cytology [and] American Society of Cytology, vol. 23, no. 4, pp. 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)[源代码]#

HSV 到 RGB 颜色空间的转换。

参数:
hsv(…, C=3, …) 类数组

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)[源代码]#

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

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

参数:
lab(…, C=3, …) 类数组

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)[源代码]#

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

参数:
lab(…, C=3, …) 类数组

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)[源代码]#

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

参数:
lab(…, C=3, …) 类数组

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)[源代码]#

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

参数:
labelndarray

image 具有相同形状的整数标签数组。

imagendarray,可选

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

colors列表,可选

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

alphafloat [0, 1],可选

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

bg_labelint,可选

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

bg_colorstr 或数组,可选

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

image_alphafloat [0, 1],可选

图像的不透明度。

kind字符串,取值为 {'overlay', 'avg'} 之一

所需的彩色图像类型。'overlay' 循环使用定义的颜色,并将彩色标签覆盖在原始图像上。'avg' 将每个标记的段替换为其平均颜色,以获得染色类或粉彩色绘画外观。

saturationfloat [0, 1],可选

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

channel_axisint,可选

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

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

返回:
result浮点型 ndarray,与 image 具有相同的形状

使用某个 alpha 值将 label 中每个不同值的循环颜色图(colors)与图像混合的结果。

移除对象

移除对象

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

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

区域邻接图 (RAG) 阈值化

区域邻接图 (RAG) 阈值化

归一化切割

归一化切割

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

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

扩展分割标签而不重叠

扩展分割标签而不重叠

标记图像区域

标记图像区域

查找两个分割的交集

查找两个分割的交集

区域邻接图 (RAG) 合并

区域邻接图 (RAG) 合并

区域边界 RAG 的分层合并

区域边界 RAG 的分层合并

极值

极值

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

使用像素图查找物体的测地中心

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

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

分割人体细胞(有丝分裂中)

分割人体细胞(有丝分裂中)

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

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

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

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

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

参数:
lch(…, C=3, …) 类数组

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)[源代码]#

Luv 到 RGB 颜色空间的转换。

参数:
luv(…, C=3, …) 类数组

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)[源代码]#

CIE-Luv 到 XYZ 颜色空间的转换。

参数:
luv(…, C=3, …) 类数组

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)[源代码]#

计算 RGB 图像的亮度。

参数:
rgb(…, C=3, …) 类数组

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)

应用掩码SLIC 与 SLIC

应用掩码SLIC 与 SLIC

分割和超像素算法的比较

分割和超像素算法的比较

区域边界 RAG 的分层合并

区域边界 RAG 的分层合并

极值

极值

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

使用像素图查找物体的测地中心

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

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

参数:
rgb(…, C=3, …) 类数组

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,“通过颜色反卷积量化组织化学染色”,Analytical and quantitative cytology and histology / the International Academy of Cytology [and] American Society of Cytology, vol. 23, no. 4, pp. 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)[源代码]#

RGB 到 HSV 颜色空间的转换。

参数:
rgb(…, C=3, …) 类数组

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

channel_axisint,可选

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

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

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

HSV 格式的图像。与输入尺寸相同。

引发:
ValueError

如果 rgb 不是至少 2 维且形状为 (…, C=3, …)。

备注

由于整数算术和舍入 [1],RGB 和 HSV 色彩空间之间的转换会导致一些精度损失。

参考

示例

>>> 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)[源代码]#

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

参数:
rgb(…, C=3, …) 类数组

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)[源代码]#

RGB 到 CIE-Luv 颜色空间的转换。

参数:
rgb(…, C=3, …) 类数组

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)[源代码]#

RGB 到 RGB CIE 颜色空间的转换。

参数:
rgb(…, C=3, …) 类数组

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)[源代码]#

RGB 到 XYZ 颜色空间的转换。

参数:
rgb(…, C=3, …) 类数组

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)[源代码]#

RGB 到 YCbCr 颜色空间的转换。

参数:
rgb(…, C=3, …) 类数组

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)[源代码]#

RGB 到 YDbDr 颜色空间的转换。

参数:
rgb(…, C=3, …) 类数组

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)[源代码]#

RGB 到 YIQ 颜色空间的转换。

参数:
rgb(…, C=3, …) 类数组

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)[源代码]#

RGB 到 YPbPr 颜色空间的转换。

参数:
rgb(…, C=3, …) 类数组

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)[源代码]#

RGB 到 YUV 颜色空间的转换。

参数:
rgb(…, C=3, …) 类数组

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)[源代码]#

使用 Alpha 混合将 RGBA 转换为 RGB [1]

参数:
rgba(…, C=4, …) 类数组

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

background类数组

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

channel_axisint,可选

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

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

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

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

引发:
ValueError

如果 rgba 不是至少 2 维,并且形状为 (…, 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)[源代码]#

RGB CIE 到 RGB 颜色空间的转换。

参数:
rgbcie(…, C=3, …) 类数组

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

channel_axisint,可选

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

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

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

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

引发:
ValueError

如果 rgbcie 不是至少 2 维,并且形状为 (…, 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)[源代码]#

RGB 到污渍颜色空间的转换。

参数:
rgb(…, C=3, …) 类数组

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., vol. 23, no. 4, pp. 291–299, Aug. 2001。

示例

>>> 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)[源代码]#

XYZ 到 CIE-LAB 颜色空间的转换。

参数:
xyz(…, C=3, …) 类数组

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

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

照明体的名称(该函数不区分大小写)。

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

以下之一:2 度观察者、10 度观察者或 R 函数 grDevices::convertColor 中的“R”观察者。

channel_axisint,可选

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

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

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

CIE-LAB 格式的图像。与输入图像尺寸相同。

引发:
ValueError

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

ValueError

如果不支持或未知照明体或观察者角度。

备注

默认情况下,Observer=”2”,Illuminant=”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)[源代码]#

XYZ 到 CIE-Luv 颜色空间的转换。

参数:
xyz(…, C=3, …) 类数组

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 转换权重使用 observer=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)[源代码]#

XYZ 到 RGB 颜色空间的转换。

参数:
xyz(…, C=3, …) 类数组

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'>)[源代码]#

获取 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, 可选

输出数据类型。

返回:
values数组

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

引发:
ValueError

如果不支持照明体或观察者角度,或者未知。

备注

CIE XYZ 三刺激值根据 \(x, y\) [1] 计算得出,公式如下

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

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

参考

示例

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

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

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

YCbCr 到 RGB 颜色空间的转换。

参数:
ycbcr(…, C=3, …) 类数组

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)[源代码]#

YDbDr 到 RGB 颜色空间的转换。

参数:
ydbdr(…, C=3, …) 类数组

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)[源代码]#

YIQ 到 RGB 颜色空间的转换。

参数:
yiq(…, C=3, …) 类数组

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)[源代码]#

YPbPr 到 RGB 颜色空间的转换。

参数:
ypbpr(…, C=3, …) 类数组

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)[源代码]#

YUV 到 RGB 颜色空间的转换。

参数:
yuv(…, C=3, …) 类数组

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

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

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

引发:
ValueError

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

参考