1. 程式人生 > 程式設計 >Python colormap庫的安裝和使用詳情

Python colormap庫的安裝和使用詳情

colormap庫是Python中的一個對顏色進行處理的第三方庫,常用於對RGB(red,green,blue三原色的縮寫,真彩圖像)顏色的轉換,生成顏色圖等。

pypi文件地址:https://pypi.org/project/colormap/

一、安裝colormap

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple easydev
pip install colormap

colormap庫依賴於easydev庫,需要先安裝easydev再安裝colormap。

二、獲取顏色的RGB元組表示和十六進位制表示

# coding=utf-8
from colormap import Color


c = Color('blue')
print(c.rgb)
print(c.hex)
print(c)

執行結果:

(0.0,0.0,1.0)
#0000FF
Color Blue
hexa code: #0000FF
RGB code: (0.0,1.0)
RGB code (un-normalised): [0.0,255.0]

HSV code: (0.6666666666666666,1.0,1.0)
HSV code: (un-normalised) 240.0 100.0 100.0

HLS code: (0.6666666666666666,0.5,1.0)
HLS code: (un-normalised) 240.0 50.0 100.0

例項化一個Color類的顏色物件c,傳入需要檢視的顏色英文,列印輸出顏色物件c的rgb屬性即可得到對應的元組表示方法,列印輸出顏色物件c的hex屬性即可得到對應的十六進位制表示方法。直接列印輸出顏色物件c,可以同時檢視該顏色的各種表示方法。

三、轉換顏色的表示方法

from colormap import hex2rgb,rgb2hex


print(rgb2hex(255,0))
print(hex2rgb('#FF0000'))

執行結果:

#FF0000
(255,0)

rgb2hex(): 將RGB顏色的元組表示方法轉換成十六進位制表示方法。

hex2rgb(): 將RGB顏色的十六進位制表示方法轉換成元組表示方法。

兩個方法是互逆的,RGB的元組表示是一個長度為3的元組,每個數字是0~255(2^8- 1),三個數字的大小分別表示紅、綠、藍,如(255,0)表示紅色。

RGB的十六進位制表示是一個以'#'號開頭的字串,'#'後接一個長度為六的十六進位制(0~F)數字,每兩位表示紅、綠、藍中的一個(00~FF),如‘#FF0000'表示紅色。

其他的轉換函式不是很常用,有些不能正常使用(如hex2web()和web2hex()),感興趣可以點進原始碼看看。

四、建立顏色圖

要使用colormap建立顏色圖,需要先安裝numpy和matplotlib兩個庫。

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

這兩個庫都比較大,建議都換成國內的映象源。colormap自身沒有繪圖功能,所以生成影象時會去呼叫numpy和matplotlib。

庫安裝成功後,開始繪製顏色圖。

from colormap import Colormap

c = Colormap()
map = c.cmap_linear('blue','white','green')
c.test_colormap(map)

執行結果:

Python colormap庫的安裝和使用詳情

例項化一個Colormap類的物件c,用於呼叫對應的方法生成顏色圖。

cmap_linear():Colormap類中的方法,用於生成三種顏色的漸變圖,第一種顏色至第三種顏色的漸變,中間用第二種顏色銜接。傳入三種顏色,cmap_linear()方法中會用這三種顏色例項化三個Color類的物件,然後用三個物件生成顏色的漸變,並將漸變的結結果作為一個顏色圖物件返回。

test_colormap():Colormap類中的方法,用於繪製漸變影象。傳入需要繪圖的顏色圖物件,test_colormap()方法中會匯入numpy和matplotlib庫,生成影象。

如果不例項化Colormap類的物件,也可以直接呼叫函式生成顏色圖。

from colormap import cmap_builder,test_cmap


mycm = cmap_builder('green','black','blue')
test_cmap(mycm)

執行結果:

Python colormap庫的安裝和使用詳情

cmap_builder():colormap庫中的函式,呼叫了Colormap類中的cmap_linear()方法。

test_cmap(): colormap庫中的函式,呼叫了Colormap類中的test_colormap()方法。

當然,也可以生成更復雜的顏色圖。

from colormap import Colormap


c = Colormap()
d = {'red':  [0,1,1],'green': [0,'blue': [0,1]}
map = c.cmap(d,reverse=False)
c.test_colormap(map)

執行結果:

Python colormap庫的安裝和使用詳情

cmap(colors=None,reverse=False,N=256):Colormap類中的方法,返回一個colormap的物件,給matplotlib繪圖使用。上面用的cmap_linear()方法其實也是呼叫了cmap()方法。有3個引數。colors表示一組字典型別的RGB顏色引數。reverse表示顏色圖的順序,預設為False(從中心到邊緣的順序與colors的順序相同),如果改為True則將顏色的順序剛好相反。N是一個整數,預設256,保持預設即可。

到此這篇關於Python colormap庫的安裝和使用詳情的文章就介紹到這了,更多相關Python colormap庫內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!