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)[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
:苏木精 + 伊红 + DABrgb_from_hdx
:苏木精 + DABrgb_from_fgx
:福尔根 + 淡绿rgb_from_bex
:吉姆萨染色:甲基蓝 + 伊红rgb_from_rbd
:FastRed + FastBlue + DABrgb_from_gdx
:甲基绿 + DABrgb_from_hax
:苏木精 + AECrgb_from_bro
:蓝色基质苯胺蓝 + 红色基质偶氮胭脂红 + 橙色基质橙黄 Grgb_from_bpx
:甲基蓝 + 品红rgb_from_ahx
:阿尔辛蓝 + 苏木精rgb_from_hpx
:苏木精 + PAS
参考
[1][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类似数组
颜色
lab1
和lab2
之间的距离
参考
[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类数组
lab1
和lab2
之间的距离
备注
CIEDE 2000 假定明度、色度和色调的参数权重因子(分别为
kL
、kC
和kH
)。这些默认值为 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 标准的色差
通过使用特定于应用程序的比例因子(
kH
、kC
、kL
、k1
和k2
)来适应感知不均匀性。- 参数:
- lab1类似数组
参考颜色(Lab 颜色空间)
- lab2类似数组
比较颜色(Lab 颜色空间)
- kH浮点数,可选
色调比例
- kC浮点数,可选
色度比例
- kL浮点数,可选
明度比例
- k1浮点数,可选
第一个比例参数
- k2浮点数,可选
第二个比例参数
- channel_axisint,可选
此参数指示数组的哪个轴对应于通道。
版本 0.19 中添加:
channel_axis
已在 0.19 中添加。
- 返回:
- dE类似数组
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 标准的色差。
此色差由染料和着色剂协会(英国)的颜色测量委员会 (CMC) 开发。它旨在用于纺织工业。
比例因子
kL
和kC
设置明度和色度差异相对于色调差异的权重。通常的值为kL=2
、kC=1
表示“可接受性”,而kL=1
、kC=1
表示“难以察觉”。对于给定的比例因子,dE > 1
的颜色被视为“不同”。- 参数:
- lab1类似数组
参考颜色(Lab 颜色空间)
- lab2类似数组
比较颜色(Lab 颜色空间)
- channel_axisint,可选
此参数指示数组的哪个轴对应于通道。
版本 0.19 中添加:
channel_axis
已在 0.19 中添加。
- 返回:
- dE类似数组
颜色
lab1
和lab2
之间的距离
备注
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)
。
- 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*)。
另请参阅
备注
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, …)。
另请参阅
备注
此函数使用
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)。
另请参阅
备注
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_color
为None
,并且kind
为overlay
,则背景不会被任何颜色绘制。- 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
)与图像混合的结果。
- result浮点型 ndarray,与
移除对象用于纹理分类的局部二进制模式区域邻接图 (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)。
另请参阅
备注
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 图像活动轮廓模型脊线算子圆形和椭圆形霍夫变换重新缩放、调整大小和缩小基本矩阵估计使用 RANSAC 的稳健匹配使用光流进行配准使用极坐标和对数极坐标变换进行配准使用顶帽滤镜移除灰度图像中的小物体图像反卷积在图像中使用窗口函数图像反卷积估计模糊强度相位解缠使用 J 不变性校准去噪器的完整教程CENSURE 特征检测器移除对象斑点检测ORB 特征检测器和二进制描述符来自图像的 Gabor / 初级视觉皮层“简单细胞”BRIEF 二进制描述符SIFT 特征检测器和描述符提取器基于区域边界的区域邻接图 (RAG)应用掩码SLIC 与 SLIC分割和超像素算法的比较区域边界 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)
- 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
: 苏木精 + 伊红 + DABhdx_from_rgb
: 苏木精 + DABfgx_from_rgb
: 佛尔根 + 淡绿bex_from_rgb
: 吉姆萨染色:甲基蓝 + 伊红rbd_from_rgb
: 快红 + 快蓝 + DABgdx_from_rgb
: 甲基绿 + DABhax_from_rgb
: 苏木精 + AECbro_from_rgb
: 蓝色矩阵苯胺蓝 + 红色矩阵偶氮胭脂红 + 橙色矩阵橙黄 Gbpx_from_rgb
: 甲基蓝 + 丽春红ahx_from_rgb
: 阿利新蓝 + 苏木精hpx_from_rgb
: 苏木精 + PAS
此实现借鉴了 DIPlib 的一些想法 [2],例如,使用一个较小的值进行补偿,以避免在计算比尔-朗伯定律时出现对数伪影。
参考
[1][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, …)。
参考