時間:2020-10-06來源:www.outletmksalestore.com作者:電腦系統城
colormap庫是Python中的一個對顏色進行處理的第三方庫,常用于對RGB(red,green,blue三原色的縮寫,真彩圖像)顏色的轉換,生成顏色圖等。
pypi文檔地址:https://pypi.org/project/colormap/
一、安裝colormap
?1 2 |
pip install - i https: / / pypi.tuna.tsinghua.edu.cn / simple easydev pip install colormap |
colormap庫依賴于easydev庫,需要先安裝easydev再安裝colormap。
二、獲取顏色的RGB元組表示和十六進制表示
?1 2 3 4 5 6 7 8 |
# 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, 0.0, 1.0)
RGB code (un-normalised): [0.0, 0.0, 255.0]HSV code: (0.6666666666666666, 1.0, 1.0)
HSV code: (un-normalised) 240.0 100.0 100.0HLS code: (0.6666666666666666, 0.5, 1.0)
HLS code: (un-normalised) 240.0 50.0 100.0
實例化一個Color類的顏色對象c,傳入需要查看的顏色英文,打印輸出顏色對象c的rgb屬性即可得到對應的元組表示方法,打印輸出顏色對象c的hex屬性即可得到對應的十六進制表示方法。直接打印輸出顏色對象c,可以同時查看該顏色的各種表示方法。
三、轉換顏色的表示方法
?1 2 3 4 5 |
from colormap import hex2rgb, rgb2hex print (rgb2hex( 255 , 0 , 0 )) print (hex2rgb( '#FF0000' )) |
運行結果:
?1 2 |
#FF0000 ( 255 , 0 , 0 ) |
rgb2hex(): 將RGB顏色的元組表示方法轉換成十六進制表示方法。
hex2rgb(): 將RGB顏色的十六進制表示方法轉換成元組表示方法。
兩個方法是互逆的,RGB的元組表示是一個長度為3的元組,每個數字是0~255(2^8 - 1),三個數字的大小分別表示紅、綠、藍,如(255, 0, 0)表示紅色。
RGB的十六進制表示是一個以'#'號開頭的字符串,'#'后接一個長度為六的十六進制(0~F)數字,每兩位表示紅、綠、藍中的一個(00~FF),如‘#FF0000'表示紅色。
其他的轉換函數不是很常用,有些不能正常使用(如hex2web()和web2hex()),感興趣可以點進源碼看看。
四、創建顏色圖
要使用colormap創建顏色圖,需要先安裝numpy和matplotlib兩個庫。
?1 2 |
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。
庫安裝成功后,開始繪制顏色圖。
?1 2 3 4 5 |
from colormap import Colormap c = Colormap() map = c.cmap_linear( 'blue' , 'white' , 'green' ) c.test_colormap( map ) |
運行結果:
實例化一個Colormap類的對象c,用于調用對應的方法生成顏色圖。
cmap_linear(): Colormap類中的方法,用于生成三種顏色的漸變圖,第一種顏色至第三種顏色的漸變,中間用第二種顏色銜接。傳入三種顏色,cmap_linear()方法中會用這三種顏色實例化三個Color類的對象,然后用三個對象生成顏色的漸變,并將漸變的結結果作為一個顏色圖對象返回。
test_colormap(): Colormap類中的方法,用于繪制漸變圖像。傳入需要繪圖的顏色圖對象,test_colormap()方法中會導入numpy和matplotlib庫,生成圖像。
如果不實例化Colormap類的對象,也可以直接調用函數生成顏色圖。
?1 2 3 4 5 |
from colormap import cmap_builder, test_cmap mycm = cmap_builder( 'green' , 'black' , 'blue' ) test_cmap(mycm) |
運行結果:
cmap_builder(): colormap庫中的函數,調用了Colormap類中的cmap_linear()方法。
test_cmap(): colormap庫中的函數,調用了Colormap類中的test_colormap()方法。
當然,也可以生成更復雜的顏色圖。
?1 2 3 4 5 6 7 8 9 |
from colormap import Colormap c = Colormap() d = { 'red' : [ 0 , 1 , 0 , 0 , 1 , 1 , 0 , 1 ], 'green' : [ 0 , 0 , 1 , 0 , 1 , 0 , 1 , 1 ], 'blue' : [ 0 , 0 , 0 , 1 , 0 , 1 , 1 , 1 ]} map = c.cmap(d, reverse = False ) c.test_colormap( map ) |
運行結果:
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庫內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
2022-03-01
PHP如何從txt文件中讀取數據詳解2022-03-01
分享5個方便好用的Python自動化腳本2021-03-29
Python中pycharm編輯器界面風格修改方法