skimage.color
#
色彩空間轉換。
染劑至 RGB 色彩空間轉換。 |
|
將影像陣列轉換為新的色彩空間。 |
|
Lab 色彩空間中兩點之間的歐幾里得距離 |
|
CIEDE 2000 標準給出的色彩差異。 |
|
根據 CIEDE 94 標準的色彩差異 |
|
來自 CMC l:c 標準的色彩差異。 |
|
建立灰階影像的 RGB 表示。 |
|
建立灰階影像的 RGBA 表示。 |
|
蘇木精-伊紅-二氨基聯苯胺 (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 至蘇木精-伊紅-二氨基聯苯胺 (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 色彩空間轉換。
- 參數:
- stains(…, C=3, …) 類陣列
染劑色彩空間中的影像。預設情況下,最後一個維度表示通道。
- conv_matrix:ndarray
G. Landini 描述的染劑分離矩陣 [1]。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
RGB 格式的影像。與輸入相同的維度。
- 引發:
- ValueError
如果
stains
不是至少 2 維,其形狀為 (…, C=3, …)。
備註
color
模組中提供的染劑組合矩陣及其各自的色彩空間rgb_from_hed
:蘇木精 + 伊紅 + DABrgb_from_hdx
:蘇木精 + DABrgb_from_fgx
:福爾根 + 淡綠rgb_from_bex
:吉姆薩染色:甲基藍 + 伊紅rgb_from_rbd
:快紅 + 快藍 + 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,「Quantification of histochemical staining by color deconvolution」,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)[原始碼]#
將影像陣列轉換為新的色彩空間。
- 有效的色彩空間為
「RGB」、「HSV」、「RGB CIE」、「XYZ」、「YUV」、「YIQ」、「YPbPr」、「YCbCr」、「YDbDr」
- 參數:
- arr(…, C=3, …) 類陣列
要轉換的影像。預設情況下,最後一個維度表示通道。
- fromspace字串
要從中轉換的色彩空間。可以用小寫字母指定。
- tospace字串
要轉換到的色彩空間。可以用小寫字母指定。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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)[原始碼]#
Lab 色彩空間中兩點之間的歐幾里得距離
- 參數:
- lab1類陣列
參考顏色 (Lab 色彩空間)
- lab2類陣列
比較顏色 (Lab 色彩空間)
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- dE類陣列
顏色
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 的主要修訂版。感知校準主要基於在光滑表面上使用汽車塗料的經驗。
- 參數:
- lab1類陣列
參考顏色 (Lab 色彩空間)
- lab2類陣列
比較顏色 (Lab 色彩空間)
- kL浮點數 (範圍),選用
明度比例因子,1 表示「可接受地接近」;2 表示「無法察覺」,請參閱 deltaE_cmc
- kC浮點數 (範圍),選用
彩度比例因子,通常為 1
- kH浮點數 (範圍),選用
色相比例因子,通常為 1
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- deltaE類陣列
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
) 來調整感知上的不均勻性。- 參數:
- lab1類陣列
參考顏色 (Lab 色彩空間)
- lab2類陣列
比較顏色 (Lab 色彩空間)
- kH浮點數,選用
色相比例
- kC浮點數,選用
彩度比例
- kL浮點數,選用
明度比例
- k1浮點數,選用
第一個比例參數
- k2浮點數,選用
第二個比例參數
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- dE類陣列
顏色
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 表示。
- 參數:
- image類陣列
輸入影像。
- channel_axis整數,選用
此參數指示輸出陣列的哪個軸將對應於通道。
- 傳回:
- rgb(…, C=3, …) ndarray
RGB 影像。向輸入影像新增長度為 3 的新維度。
備註
如果輸入是形狀為
(M,)
的 1 維影像,則輸出形狀將為(M, C=3)
。
- skimage.color.gray2rgba(image, alpha=None, *, channel_axis=-1)[原始碼]#
建立灰階影像的 RGBA 表示。
- 參數:
- image類陣列
輸入影像。
- alpha類陣列,選用
輸出影像的 Alpha 通道。它可以是純量或可廣播到
image
的陣列。如果未指定,則會將其設定為對應於image
dtype 的最大限制。- channel_axis整數,選用
此參數指示輸出陣列的哪個軸將對應於通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- rgbandarray
RGBA 影像。向輸入影像形狀新增長度為 4 的新維度。
- skimage.color.hed2rgb(hed, *, channel_axis=-1)[原始碼]#
蘇木精-伊紅-二氨基聯苯胺 (HED) 至 RGB 色彩空間轉換。
- 參數:
- hed(…, C=3, …) 類陣列
HED 色彩空間中的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
RGB 中的影像。與輸入相同的維度。
- 引發:
- ValueError
如果
hed
不是至少 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, 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_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
RGB 格式的影像。與輸入相同的維度。
- 引發:
- ValueError
如果
hsv
不是至少 2 維且形狀為 (…, C=3, …)。
備註
由於整數算術和捨入 [1],RGB 和 HSV 色彩空間之間的轉換會導致一些精確度損失。
參考文獻
範例
>>> 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_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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 影像,則會在著色前轉換為灰階。- colorslist,可選
色彩列表。如果標籤數量超過色彩數量,則會循環使用色彩。
- 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_axis整數,選用
此參數指示輸出陣列的哪個軸對應於通道。如果提供
image
,則此參數也必須與image
中對應於通道的軸一致。在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- resultfloat 的 ndarray,與
image
具有相同形狀 在給定的 alpha 值下,將
label
中每個不同值的循環色彩對應表(colors
)與影像混合的結果。
- resultfloat 的 ndarray,與
- skimage.color.lch2lab(lch, *, channel_axis=-1)[原始碼]#
將 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_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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, …) 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)[原始碼]#
CIE-Luv 至 XYZ 色彩空間轉換。
- 參數:
- luv(…, C=3, …) array_like
CIE-Luv 格式的影像。預設情況下,最後一個維度表示通道。
- illuminant{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”}, 可選
光源的名稱(此函數不區分大小寫)。
- observer{“2”, “10”, “R”}, 可選
觀察者的孔徑角。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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, …) 類陣列 (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)
- skimage.color.rgb2hed(rgb, *, channel_axis=-1)[原始碼]#
RGB 至蘇木精-伊紅-二氨基聯苯胺 (HED) 色彩空間轉換。
- 參數:
- rgb(…, C=3, …) 類陣列 (array_like)
RGB 格式的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
HED 格式的影像。與輸入具有相同的維度。
- 引發:
- 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, …) 類陣列 (array_like)
RGB 格式的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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, …) 類陣列 (array_like)
RGB 格式的影像。預設情況下,最後一個維度表示通道。
- illuminant{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”}, 可選
光源的名稱(此函數不區分大小寫)。
- observer{“2”, “10”, “R”}, 可選
觀察者的孔徑角。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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, …) 類陣列 (array_like)
RGB 格式的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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, …) 類陣列 (array_like)
RGB 格式的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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, …) 類陣列 (array_like)
RGB 格式的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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, …) 類陣列 (array_like)
RGB 格式的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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, …) 類陣列 (array_like)
RGB 格式的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
YDbDr 格式的影像。與輸入具有相同的維度。
- 引發:
- ValueError
如果
rgb
不是至少 2 維且形狀為 (…, C=3, …)。
備註
這是視訊編解碼器常用的色彩空間。它也是 JPEG2000 中的可逆色彩轉換。
參考文獻
- skimage.color.rgb2yiq(rgb, *, channel_axis=-1)[原始碼]#
RGB 至 YIQ 色彩空間轉換。
- 參數:
- rgb(…, C=3, …) 類陣列 (array_like)
RGB 格式的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
YIQ 格式的影像。與輸入具有相同的維度。
- 引發:
- ValueError
如果
rgb
不是至少 2 維且形狀為 (…, C=3, …)。
- skimage.color.rgb2ypbpr(rgb, *, channel_axis=-1)[原始碼]#
RGB 至 YPbPr 色彩空間轉換。
- 參數:
- rgb(…, C=3, …) 類陣列 (array_like)
RGB 格式的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
YPbPr 格式的影像。與輸入具有相同的維度。
- 引發:
- ValueError
如果
rgb
不是至少 2 維且形狀為 (…, C=3, …)。
參考文獻
- skimage.color.rgb2yuv(rgb, *, channel_axis=-1)[原始碼]#
RGB 至 YUV 色彩空間轉換。
- 參數:
- rgb(…, C=3, …) 類陣列 (array_like)
RGB 格式的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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, …) 類陣列 (array_like)
RGBA 格式的影像。預設情況下,最後一個維度表示通道。
- background類陣列 (array_like)
要與影像混合的背景顏色(介於 0 到 1 之間的三個浮點數 - 背景的 RGB 值)。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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)[原始碼]#
RGB CIE 至 RGB 色彩空間轉換。
- 參數:
- rgbcie(…, C=3, …) 類陣列 (array_like)
RGB CIE 格式的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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)[原始碼]#
RGB 至染劑色彩空間轉換。
- 參數:
- rgb(…, C=3, …) 類陣列 (array_like)
RGB 格式的影像。預設情況下,最後一個維度表示通道。
- conv_matrix:ndarray
G. Landini 描述的染色分離矩陣 [1]。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- 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],例如,在使用 Beer-Lambert 定律計算時,使用一個小值來避免對數假影的補償。
參考文獻
[1][3]A. C. Ruifrok 和 D. A. Johnston,「Quantification of histochemical staining by color deconvolution」,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)[原始碼]#
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 函數 grDevices::convertColor 中的「R」觀察者。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
CIE-LAB 格式的影像。與輸入相同的維度。
- 引發:
- ValueError
如果
xyz
不是至少 2D 且形狀為 (…, 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, …) 類陣列 (array_like)
XYZ 格式的影像。預設情況下,最後一個維度表示通道。
- illuminant{“A”, “B”, “C”, “D50”, “D55”, “D65”, “D75”, “E”}, 可選
光源的名稱(此函數不區分大小寫)。
- observer{“2”, “10”, “R”}, 可選
觀察者的孔徑角。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
CIE-Luv 格式的影像。與輸入相同的維度。
- 引發:
- ValueError
如果
xyz
不是至少 2D 且形狀為 (…, 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, …) 類陣列 (array_like)
XYZ 格式的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
RGB 格式的影像。與輸入相同的維度。
- 引發:
- ValueError
如果
xyz
不是至少 2D 且形狀為 (…, 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 函數
grDevices::convertColor
中的「R」觀察者 [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\]唯一的例外是具有 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)[原始碼]#
YCbCr 至 RGB 色彩空間轉換。
- 參數:
- ycbcr(…, C=3, …) 類陣列 (array_like)
YCbCr 格式的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
RGB 格式的影像。與輸入相同的維度。
- 引發:
- ValueError
如果
ycbcr
不是至少 2D 且形狀為 (…, C=3, …)。
備註
Y 介於 16 和 235 之間。這是視訊編解碼器常用的色彩空間;它有時會被錯誤地稱為「YUV」。
參考文獻
- skimage.color.ydbdr2rgb(ydbdr, *, channel_axis=-1)[原始碼]#
YDbDr 至 RGB 色彩空間轉換。
- 參數:
- ydbdr(…, C=3, …) 類陣列(array_like)
以 YDbDr 格式表示的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
RGB 格式的影像。與輸入相同的維度。
- 引發:
- ValueError
如果
ydbdr
不是至少 2 維且形狀為 (…, C=3, …)。
備註
這是影片編解碼器常用的色彩空間,在 JPEG2000 中也稱為可逆色彩轉換。
參考文獻
- skimage.color.yiq2rgb(yiq, *, channel_axis=-1)[原始碼]#
YIQ 至 RGB 色彩空間轉換。
- 參數:
- yiq(…, C=3, …) 類陣列(array_like)
以 YIQ 格式表示的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
RGB 格式的影像。與輸入相同的維度。
- 引發:
- ValueError
如果
yiq
不是至少 2 維且形狀為 (…, C=3, …)。
- skimage.color.ypbpr2rgb(ypbpr, *, channel_axis=-1)[原始碼]#
YPbPr 至 RGB 色彩空間轉換。
- 參數:
- ypbpr(…, C=3, …) 類陣列(array_like)
以 YPbPr 格式表示的影像。預設情況下,最後一個維度表示通道。
- channel_axis整數,選用
此參數表示陣列的哪個軸對應到通道。
在 0.19 版本中新增:在 0.19 中新增了
channel_axis
。
- 傳回:
- out(…, C=3, …) ndarray
RGB 格式的影像。與輸入相同的維度。
- 引發:
- ValueError
如果
ypbpr
不是至少 2 維且形狀為 (…, C=3, …)。
參考文獻