skimage.color
#
污渍到RGB颜色空间的转换。 |
|
将图像数组转换为新的色彩空间。 |
|
Lab 颜色空间中两点之间的欧几里得距离 |
|
CIEDE 2000 标准给出的色差。 |
|
根据CIEDE 94标准的颜色差异 |
|
CMC l:c 标准下的色差。 |
|
创建一个灰度图像的RGB表示。 |
|
创建一个灰度图像的RGBA表示。 |
|
苏木精-伊红-DAB (HED) 到 RGB 颜色空间的转换。 |
|
HSV 到 RGB 颜色空间转换。 |
|
将图像从 CIE-LAB 转换为 CIE-LCh 色彩空间。 |
|
将图像从 CIE-LAB 转换为 sRGB 色彩空间。 |
|
将图像从 CIE-LAB 转换为 XYZ 色彩空间。 |
|
返回一个RGB图像,其中颜色编码的标签绘制在图像上。 |
|
将图像从 CIE-LCh 转换为 CIE-LAB 色彩空间。 |
|
Luv 到 RGB 色彩空间转换。 |
|
CIE-Luv 到 XYZ 色彩空间转换。 |
|
计算RGB图像的亮度。 |
|
RGB 到苏木精-伊红-DAB (HED) 颜色空间转换。 |
|
RGB 到 HSV 颜色空间转换。 |
|
在给定的光源和观察者条件下,从sRGB色彩空间(IEC 61966-2-1:1999)转换到CIE Lab色彩空间。 |
|
RGB 到 CIE-Luv 颜色空间转换。 |
|
RGB 到 RGB CIE 色彩空间转换。 |
|
RGB 到 XYZ 颜色空间转换。 |
|
RGB 到 YCbCr 色彩空间转换。 |
|
RGB 到 YDbDr 色彩空间转换。 |
|
RGB 到 YIQ 色彩空间转换。 |
|
RGB 到 YPbPr 色彩空间转换。 |
|
RGB 到 YUV 颜色空间转换。 |
|
使用 alpha 混合进行 RGBA 到 RGB 的转换 [1]。 |
|
RGB CIE 到 RGB 色彩空间的转换。 |
|
RGB 到染色颜色空间的转换。 |
|
XYZ 到 CIE-LAB 颜色空间转换。 |
|
XYZ 到 CIE-Luv 色彩空间转换。 |
|
XYZ 到 RGB 色彩空间转换。 |
|
获取 CIE XYZ 三刺激值。 |
|
YCbCr 到 RGB 色彩空间转换。 |
|
YDbDr 到 RGB 色彩空间的转换。 |
|
YIQ 到 RGB 色彩空间转换。 |
|
YPbPr 到 RGB 色彩空间转换。 |
|
YUV 到 RGB 色彩空间转换。 |
- skimage.color.combine_stains(stains, conv_matrix, *, channel_axis=-1)[源代码][源代码]#
污渍到RGB颜色空间的转换。
- 参数:
- 污渍(…, C=3, …) 类数组
染色颜色空间中的图像。默认情况下,最终维度表示通道。
- conv_matrix: ndarray
如G. Landini所述的污渍分离矩阵 [1]。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
RGB 格式的图像。与输入具有相同的尺寸。
- Raises:
- ValueError
如果 stains 的维度至少为 2 维且形状为 (…, C=3, …)。
注释
color
模块中可用的污渍组合矩阵及其相应的颜色空间:rgb_from_hed
: 苏木精 + 伊红 + DABrgb_from_hdx
: 苏木精 + DABrgb_from_fgx
: Feulgen + 亮绿rgb_from_bex
: Giemsa 染色 : 甲基蓝 + 伊红rgb_from_rbd
: FastRed + FastBlue + DABrgb_from_gdx
: 甲基绿 + DABrgb_from_hax
: 苏木精 + AECrgb_from_bro
: 蓝色矩阵苯胺蓝 + 红色矩阵偶氮胭脂红 + 橙色矩阵橙Grgb_from_bpx
: 甲基蓝 + 品红rgb_from_ahx
: 阿利新蓝 + 苏木精rgb_from_hpx
: 苏木精 + 过碘酸雪夫
参考文献
[1][2]A. C. Ruifrok and D. A. Johnston, “Quantification of histochemical staining by color deconvolution,” 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)[源代码][源代码]#
将图像数组转换为新的色彩空间。
- 有效的颜色空间包括:
‘RGB’, ‘HSV’, ‘RGB CIE’, ‘XYZ’, ‘YUV’, ‘YIQ’, ‘YPbPr’, ‘YCbCr’, ‘YDbDr’
- 参数:
- arr(…, C=3, …) 类数组
要转换的图像。默认情况下,最终维度表示通道。
- fromspacestr
要转换的颜色空间。可以用小写字母指定。
- tospacestr
要转换的颜色空间。可以用小写字母指定。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
转换后的图像。与输入图像尺寸相同。
- Raises:
- 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)[源代码][源代码]#
Lab 颜色空间中两点之间的欧几里得距离
- 参数:
- 实验1array_like
参考颜色 (Lab 颜色空间)
- lab2array_like
比较颜色 (Lab 颜色空间)
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- dEarray_like
颜色 lab1 和 lab2 之间的距离
参考文献
[2]A. R. Robertson, “The CIE 1976 color-difference formulae,” 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 是对 CIDE94 的一次重大修订。其感知校准主要基于对光滑表面上汽车漆的经验。
- 参数:
- 实验1array_like
参考颜色 (Lab 颜色空间)
- lab2array_like
比较颜色 (Lab 颜色空间)
- kLfloat (范围), 可选
亮度比例因子,1 表示“可接受接近”;2 表示“不可察觉”,参见 deltaE_cmc
- kCfloat (范围), 可选
色度比例因子,通常为 1
- kHfloat (范围), 可选
色调比例因子,通常为 1
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- deltaEarray_like
lab1 和 lab2 之间的距离
注释
CIEDE 2000 假设了亮度、色度和色调的参数加权因子(分别为 kL、kC、kH)。这些默认值为 1。
参考文献
[3]M. Melgosa, J. Quesada, and E. Hita, “Uniformity of some recent color metrics tested with an accurate color-difference tolerance dataset,” 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标准的颜色差异
通过使用特定于应用程序的尺度因子(kH、kC、kL、k1 和 k2)来适应感知上的非均匀性。
- 参数:
- 实验1array_like
参考颜色 (Lab 颜色空间)
- lab2array_like
比较颜色 (Lab 颜色空间)
- kHfloat, 可选
色调比例
- kCfloat, 可选
色度标度
- kLfloat, 可选
亮度等级
- k1float, 可选
第一个比例参数
- k2float, 可选
第二个比例参数
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- dEarray_like
lab1 和 lab2 之间的颜色差异
注释
deltaE_ciede94 在 lab1 和 lab2 之间不是对称的。CIEDE94 根据第一种颜色定义了亮度、色调和色度的尺度。因此,第一种颜色应被视为“参考”颜色。
kL, k1, k2 取决于应用,并默认使用图形艺术建议的值。
参数
图形艺术
纺织品
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 标准下的色差。
这种色差是由英国染色师和色彩师协会(Society of Dyers and Colourists)的色彩测量委员会(CMC)开发的。它旨在用于纺织行业。
比例因子 kL, kC 设置了相对于色调差异,亮度差异和色度差异的权重。通常的值是
kL=2
,kC=1
用于“可接受性”,kL=1
,kC=1
用于“不可感知性”。对于给定的比例因子,dE > 1
的颜色是“不同的”。- 参数:
- 实验1array_like
参考颜色 (Lab 颜色空间)
- lab2array_like
比较颜色 (Lab 颜色空间)
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- dEarray_like
颜色 lab1 和 lab2 之间的距离
注释
deltaE_cmc 定义了亮度、色调和色度相对于第一种颜色的比例。因此
deltaE_cmc(lab1, lab2) != deltaE_cmc(lab2, lab1)
参考文献
[3]F. J. J. Clarke, R. McDonald, and B. Rigg, “Modification to the JPC79 colour-difference formula,” J. Soc. Dyers Colour. 100, 128-132 (1984).
- skimage.color.gray2rgb(image, *, channel_axis=-1)[源代码][源代码]#
创建一个灰度图像的RGB表示。
- 参数:
- 图像array_like
输入图像。
- channel_axisint, 可选
此参数指示输出数组的哪个轴将对应于通道。
- 返回:
- rgb(…, C=3, …) ndarray
RGB 图像。输入图像增加了一个长度为 3 的新维度。
注释
如果输入是一个形状为
(M,)
的一维图像,输出将是形状为(M, C=3)
的图像。
- skimage.color.gray2rgba(image, alpha=None, *, channel_axis=-1)[源代码][源代码]#
创建一个灰度图像的RGBA表示。
- 参数:
- 图像array_like
输入图像。
- alpha类似数组, 可选
输出图像的Alpha通道。它可以是一个标量或一个可以广播到
image
的数组。如果未指定,则设置为与image
dtype 对应的最大限制。- channel_axisint, 可选
此参数指示输出数组的哪个轴将对应于通道。
Added in version 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, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
RGB 图像。与输入相同尺寸。
- Raises:
- ValueError
如果 hed 的维度至少为 2-D 且形状为 (…, C=3, …)。
参考文献
[1]A. C. Ruifrok and D. A. Johnston, “Quantification of histochemical staining by color deconvolution.,” Analytical and quantitative cytology and histology / the International Academy of Cytology [and] American Society of Cytology, vol. 23, no. 4, pp. 291-9, Aug. 2001.
示例
>>> 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, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
RGB 格式的图像。与输入具有相同的尺寸。
- Raises:
- 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(笛卡尔)色彩空间的圆柱表示法。
- 参数:
- 实验室(…, C=3, …) 类数组
CIE-LAB 颜色空间中的输入图像。除非设置了 channel_axis,否则最后一个维度表示 CIE-LAB 通道。L* 值范围从 0 到 100;a* 和 b* 值范围从 -128 到 127。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
CIE-LCh 色彩空间中的图像,形状与输入相同。
- Raises:
- ValueError
如果 lab 没有至少 3 个通道(即 L*、a* 和 b*)。
参见
注释
h 通道(即色调)以范围
(0, 2*pi)
内的角度表示。参考文献
[3]https://en.wikipedia.org/wiki/HCL_颜色空间
示例
>>> 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 色彩空间。
- 参数:
- 实验室(…, C=3, …) 类数组
CIE-LAB 颜色空间中的输入图像。除非设置了 channel_axis,否则最后一个维度表示 CIE-LAB 通道。L* 值范围从 0 到 100;a* 和 b* 值范围从 -128 到 127。
- 光源{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”},可选
光源的名称(该函数不区分大小写)。
- 观察者{“2”, “10”, “R”},可选
观察者的孔径角。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
sRGB 色彩空间中的图像,形状与输入相同。
- Raises:
- ValueError
如果 lab 的维度至少为 2 维且形状为 (…, C=3, …)。
参见
注释
此函数使用
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 色彩空间。
- 参数:
- 实验室(…, C=3, …) 类数组
CIE-LAB 颜色空间中的输入图像。除非设置了 channel_axis,否则最后一个维度表示 CIE-LAB 通道。L* 值范围从 0 到 100;a* 和 b* 值范围从 -128 到 127。
- 光源{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”},可选
光源的名称(该函数不区分大小写)。
- 观察者{“2”, “10”, “R”},可选
观察者的孔径角。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
与输入形状相同的XYZ色彩空间中的图像。
- Raises:
- ValueError
如果 lab 的维度至少为 2 维且形状为 (…, C=3, …)。
- ValueError
如果光源或观察角度不受支持或未知。
- 用户警告
如果任何像素无效(Z < 0)。
参见
注释
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图像,其中颜色编码的标签绘制在图像上。
- 参数:
- 标签ndarray
与 image 形状相同的标签整数数组。
- 图像ndarray,可选
用作标签底图的图像。它应与 labels 具有相同的形状,可选地具有额外的 RGB(通道)轴。如果 image 是 RGB 图像,则在着色之前会将其转换为灰度图。
- 颜色列表,可选
颜色列表。如果标签的数量超过颜色的数量,那么颜色将被循环使用。
- alphafloat [0, 1], 可选
彩色标签的不透明度。如果图像为 None,则忽略此项。
- bg_labelint, 可选
被视为背景的标签。如果指定了 bg_label,bg_color 为 None,且 kind 为 overlay,则不会用任何颜色绘制背景。
- bg_colorstr 或 array,可选
背景颜色。必须是
skimage.color.color_dict
中的名称或介于 [0, 1] 之间的 RGB 浮点值。- image_alphafloat [0, 1], 可选
图像的不透明度。
- 种类字符串,可选值为 {‘overlay’, ‘avg’}
所需的颜色图像类型。’overlay’ 循环使用定义的颜色,并在原始图像上覆盖彩色标签。’avg’ 将每个标记的段替换为其平均颜色,以获得染色类或粉彩画的效果。
- 饱和度float [0, 1], 可选
控制应用于原始图像的饱和度的参数,范围从完全饱和(原始RGB,saturation=1)到完全不饱和(灰度,saturation=0)。仅在 kind=’overlay’ 时适用。
- channel_axisint, 可选
此参数指示输出数组的哪个轴将对应于通道。如果提供了 image,这也必须匹配 image 中对应于通道的轴。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 结果 : 浮点型的 ndarray,形状与 image 相同float 类型的 ndarray,形状与
在特定alpha值下,将 label 中每个不同值的循环颜色映射 (colors) 与图像混合的结果。
- 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, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
CIE-LAB 格式的图像,形状与输入相同。
- Raises:
- ValueError
如果 lch 没有至少3个通道(即,L*、C 和 h)。
参见
注释
h 通道(即色调)以范围
(0, 2*pi)
内的角度表示。参考文献
[2]https://en.wikipedia.org/wiki/HCL_颜色空间
示例
>>> 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 格式中的图像。默认情况下,最后一个维度表示通道。
- 返回:
- 出(…, C=3, …) ndarray
RGB 格式的图像。与输入具有相同的尺寸。
- Raises:
- 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 格式中的图像。默认情况下,最后一个维度表示通道。
- 光源{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”},可选
光源的名称(该函数不区分大小写)。
- 观察者{“2”, “10”, “R”},可选
观察者的孔径角。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
XYZ 格式的图像。与输入相同的尺寸。
- Raises:
- 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 格式的图像。默认情况下,最后一个维度表示通道。
- 返回:
- 出ndarray
亮度图像 - 一个与输入数组大小相同但去除了通道维度的数组。
- Raises:
- 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)
- skimage.color.rgb2hed(rgb, *, channel_axis=-1)[源代码][源代码]#
RGB 到苏木精-伊红-DAB (HED) 颜色空间转换。
- 参数:
- rgb(…, C=3, …) 类数组
RGB 格式的图像。默认情况下,最后一个维度表示通道。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
HED 格式的图像。与输入具有相同的尺寸。
- Raises:
- ValueError
如果 rgb 的维度至少不是 2 维且形状不是 (…, C=3, …)。
参考文献
[1]A. C. Ruifrok and D. A. Johnston, “Quantification of histochemical staining by color deconvolution.,” Analytical and quantitative cytology and histology / the International Academy of Cytology [and] American Society of Cytology, vol. 23, no. 4, pp. 291-9, Aug. 2001.
示例
>>> 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, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
HSV 格式的图像。与输入具有相同的尺寸。
- Raises:
- ValueError
如果 rgb 的维度至少不是 2 维且形状不是 (…, C=3, …)。
注释
RGB 和 HSV 颜色空间之间的转换会导致一些精度损失,这是由于整数运算和舍入 [1]。
参考文献
示例
>>> from skimage import color >>> from skimage import data >>> img = data.astronaut() >>> img_hsv = color.rgb2hsv(img)
- skimage.color.rgb2lab(rgb, illuminant='D65', observer='2', *, channel_axis=-1)[源代码][源代码]#
在给定的光源和观察者条件下,从sRGB色彩空间(IEC 61966-2-1:1999)转换到CIE Lab色彩空间。
- 参数:
- rgb(…, C=3, …) 类数组
RGB 格式的图像。默认情况下,最后一个维度表示通道。
- 光源{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”},可选
光源的名称(该函数不区分大小写)。
- 观察者{“2”, “10”, “R”},可选
观察者的孔径角。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
Lab 格式的图像。与输入相同的尺寸。
- Raises:
- 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()
。参考文献
[1]
- skimage.color.rgb2luv(rgb, *, channel_axis=-1)[源代码][源代码]#
RGB 到 CIE-Luv 颜色空间转换。
- 参数:
- rgb(…, C=3, …) 类数组
RGB 格式的图像。默认情况下,最后一个维度表示通道。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
CIE Luv 格式中的图像。与输入具有相同的尺寸。
- Raises:
- ValueError
如果 rgb 的维度至少不是 2 维且形状不是 (…, C=3, …)。
注释
此函数使用 rgb2xyz 和 xyz2luv。
参考文献
- skimage.color.rgb2rgbcie(rgb, *, channel_axis=-1)[源代码][源代码]#
RGB 到 RGB CIE 色彩空间转换。
- 参数:
- rgb(…, C=3, …) 类数组
RGB 格式的图像。默认情况下,最后一个维度表示通道。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
以RGB CIE格式显示的图像。与输入图像具有相同的尺寸。
- Raises:
- 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, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
XYZ 格式的图像。与输入相同的尺寸。
- Raises:
- 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, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
YCbCr 格式的图像。与输入具有相同的尺寸。
- Raises:
- ValueError
如果 rgb 的维度至少不是 2 维且形状不是 (…, C=3, …)。
注释
Y 在 16 到 235 之间。这是视频编解码器常用的色彩空间;它有时被错误地称为“YUV”。
参考文献
- skimage.color.rgb2ydbdr(rgb, *, channel_axis=-1)[源代码][源代码]#
RGB 到 YDbDr 色彩空间转换。
- 参数:
- rgb(…, C=3, …) 类数组
RGB 格式的图像。默认情况下,最后一个维度表示通道。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
YDbDr 格式的图像。与输入相同的尺寸。
- Raises:
- ValueError
如果 rgb 的维度至少不是 2 维且形状不是 (…, C=3, …)。
注释
这是视频编解码器常用的色彩空间。它也是JPEG2000中的可逆色彩变换。
参考文献
- skimage.color.rgb2yiq(rgb, *, channel_axis=-1)[源代码][源代码]#
RGB 到 YIQ 色彩空间转换。
- 参数:
- rgb(…, C=3, …) 类数组
RGB 格式的图像。默认情况下,最后一个维度表示通道。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
YIQ 格式的图像。与输入相同的尺寸。
- Raises:
- ValueError
如果 rgb 的维度至少不是 2 维且形状不是 (…, C=3, …)。
- skimage.color.rgb2ypbpr(rgb, *, channel_axis=-1)[源代码][源代码]#
RGB 到 YPbPr 色彩空间转换。
- 参数:
- rgb(…, C=3, …) 类数组
RGB 格式的图像。默认情况下,最后一个维度表示通道。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
YPbPr 格式的图像。与输入相同的尺寸。
- Raises:
- ValueError
如果 rgb 的维度至少不是 2 维且形状不是 (…, C=3, …)。
参考文献
- skimage.color.rgb2yuv(rgb, *, channel_axis=-1)[源代码][源代码]#
RGB 到 YUV 颜色空间转换。
- 参数:
- rgb(…, C=3, …) 类数组
RGB 格式的图像。默认情况下,最后一个维度表示通道。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
YUV 格式的图像。与输入具有相同的尺寸。
- Raises:
- 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, …) array_like
RGBA 格式的图像。默认情况下,最后一个维度表示通道。
- 背景array_like
要与图像混合的背景颜色(3个介于0到1之间的浮点数 - 背景的RGB值)。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
RGB 格式的图像。与输入具有相同的尺寸。
- Raises:
- 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, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
RGB 格式的图像。与输入具有相同的尺寸。
- Raises:
- 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, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
在染色颜色空间中的图像。与输入图像具有相同的尺寸。
- Raises:
- ValueError
如果 rgb 的维度至少不是 2 维且形状不是 (…, C=3, …)。
注释
color
模块中可用的污渍分离矩阵及其相应的颜色空间:hed_from_rgb
: 苏木精 + 伊红 + DABhdx_from_rgb
: 苏木精 + DABfgx_from_rgb
: Feulgen + 亮绿bex_from_rgb
: Giemsa 染色 : 甲基蓝 + 伊红rbd_from_rgb
: 快速红 + 快速蓝 + DABgdx_from_rgb
: 甲基绿 + DABhax_from_rgb
: 苏木精 + AECbro_from_rgb
: 蓝色矩阵苯胺蓝 + 红色矩阵偶氮胭脂红 + 橙色矩阵橙黄Gbpx_from_rgb
: 甲基蓝 + 品红ahx_from_rgb
: 阿利新蓝 + 苏木精hpx_from_rgb
: 苏木精 + PAS
这个实现从DIPlib [2] 借用了一些想法,例如在计算Beer-Lambert定律时使用一个小值来避免对数伪影的补偿。
参考文献
[1][3]A. C. Ruifrok and D. A. Johnston, “Quantification of histochemical staining by color deconvolution,” 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 格式的图像。默认情况下,最后一个维度表示通道。
- 光源{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”},可选
光源的名称(该函数不区分大小写)。
- 观察者{“2”, “10”, “R”},可选
其中之一:2度观察者、10度观察者,或如R函数grDevices::convertColor中的’R’观察者。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
CIE-LAB 格式的图像。与输入具有相同的尺寸。
- Raises:
- 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)[源代码][源代码]#
XYZ 到 CIE-Luv 色彩空间转换。
- 参数:
- xyz(…, C=3, …) 类数组
XYZ 格式的图像。默认情况下,最后一个维度表示通道。
- 光源{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”},可选
光源的名称(该函数不区分大小写)。
- 观察者{“2”, “10”, “R”},可选
观察者的孔径角。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
CIE-Luv 格式中的图像。与输入具有相同的尺寸。
- Raises:
- 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, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
RGB 格式的图像。与输入具有相同的尺寸。
- Raises:
- 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\)。
- 参数:
- 光源{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”}
光源的名称(该函数不区分大小写)。
- 观察者{“2”, “10”, “R”}
其中之一:2度观察者、10度观察者,或如 R 函数
grDevices::convertColor
[3] 中的 ‘R’ 观察者。- dtype: dtype, 可选
输出数据类型。
- 返回:
- 值数组
包含给定光源的 CIE XYZ 三刺激值的 3 个元素数组 \(X, Y, Z\)。
- Raises:
- ValueError
如果光源或观察角度不受支持或未知。
注释
CIE XYZ 三刺激值是通过 \(x, y\) [1] 计算得出的,使用以下公式
\[X = x / y\]\[Y = 1\]\[Z = (1 - x - y) / y\]唯一的例外是光源“D65”,其孔径角为2°,这是出于向后兼容的原因。
参考文献
[2]https://en.wikipedia.org/wiki/CIE_1931_颜色空间#X,_Y_和_Z的含义
示例
获取视场为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, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
RGB 格式的图像。与输入具有相同的尺寸。
- Raises:
- ValueError
如果 ycbcr 不是至少2维且形状为 (…, C=3, …)。
注释
Y 在 16 到 235 之间。这是视频编解码器常用的色彩空间;它有时被错误地称为“YUV”。
参考文献
- skimage.color.ydbdr2rgb(ydbdr, *, channel_axis=-1)[源代码][源代码]#
YDbDr 到 RGB 色彩空间的转换。
- 参数:
- ydbdr(…, C=3, …) 类数组
YDbDr 格式中的图像。默认情况下,最后一个维度表示通道。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
RGB 格式的图像。与输入具有相同的尺寸。
- Raises:
- ValueError
如果 ydbdr 的维度至少为 2 维且形状为 (…, C=3, …)。
注释
这是视频编解码器常用的色彩空间,在JPEG2000中也称为可逆色彩变换。
参考文献
- skimage.color.yiq2rgb(yiq, *, channel_axis=-1)[源代码][源代码]#
YIQ 到 RGB 色彩空间转换。
- 参数:
- yiq(…, C=3, …) 类数组
YIQ 格式的图像。默认情况下,最终维度表示通道。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
RGB 格式的图像。与输入具有相同的尺寸。
- Raises:
- ValueError
如果 yiq 的维度至少不是 2 维且形状为 (…, C=3, …)。
- skimage.color.ypbpr2rgb(ypbpr, *, channel_axis=-1)[源代码][源代码]#
YPbPr 到 RGB 色彩空间转换。
- 参数:
- ypbpr(…, C=3, …) 类数组
YPbPr 格式的图像。默认情况下,最终维度表示通道。
- channel_axisint, 可选
此参数指示数组的哪个轴对应于通道。
Added in version 0.19:
channel_axis
在 0.19 版本中被添加。
- 返回:
- 出(…, C=3, …) ndarray
RGB 格式的图像。与输入具有相同的尺寸。
- Raises:
- ValueError
如果 ypbpr 的维度至少不是 2-D 且形状为 (…, C=3, …)。
参考文献