您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Pillow圖像顏色處理怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Pillow 提供了顏色處理模塊 ImageColor,該模塊支持不同格式的顏色,比如 RGB 格式的顏色三元組、十六進制的顏色名稱(#ff0000)以及顏色英文單詞("red")。同時,它還可以將 CSS(層疊樣式表,用來修飾網頁)風格的顏色轉換為 RGB 格式。
注意,在 ImageColor 模塊對顏色的大小并不敏感,比如 "Red" 也可以寫為 " red"。
ImageColor 支持多種顏色模式的的命名(即使用固定的格式對顏值進行表示),比如我們熟知的 RGB 色彩模式,除此之外,還有 HSL (色調-飽和度-明度)、HSB (又稱 HSV,色調-飽和度-亮度)色彩模式。下面對 HSL 做簡單介紹:
H:即 Hue 色調,取值范圍 0 -360,其中 0 表示“red”,120 表示 “green”,240 表示“blue”;
S:即 Saturation 飽和度,代表色彩的純度,取值 0~100%,其中 0 代表灰色(gry),100% 表示色光最飽和;
L:即 Lightness 明度,取值為 0~100%,其中 0 表示“black”黑色,50% 表示正常顏色,100% 則表示白色。
下面使用 HSL 色彩模式表示紅色,格式如下:
HSL(0,100%,50%)
此時的顏色為“純紅色”,等同于 RGB (255,0,0)。如果想了解有關 HSL/HSB 的更多知識,點擊鏈接前往。
ImageColor 模塊比較簡單,只提供了兩個常用方法,分別是 getrgb() 和 getcolor() 函數。
顧名思義,該函數用來得到顏色的 RGB 值,語法格式如下:
PIL.ImageColor.getrgb(color)
使用示例如下:
from PIL import Image,ImageColor # getrgb()方法 color1=ImageColor.getrgb("blue") print(color1) color2=ImageColor.getrgb('#DCDCDC') print(color2) #使用HSL模式紅色 color3=ImageColor.getrgb('HSL(0,100%,50%)') print(color3)
輸出結果如下:
(0, 0, 255)
(220, 220, 220)
(255, 0, 0)
通過 new() 方法可以新建圖像,此時也可以使用 ImageColor.getrgb(),如下所示:
#使用new()繪制新的圖像 im= Image.new("RGB", (200, 200), ImageColor.getrgb("#EEB4B4")) im.save("C:/Users/Administrator/Desktop/xin.jpg")
顯示圖片如下:
圖1:新建圖像
該方法與 getrgb() 類似,同樣用來獲取顏色值,不過它多了一個mode參數,因此該函數可以獲取指定色彩模式的顏色值。語法格式如下:
PIL.ImageColor.getcolor(color, mode)
參數說明如下:
color:一個顏色名稱,字符串格式,可以是顏色的英文單詞,或者十六進制顏色名。如果是不支持的顏色,會報 ValueError 錯誤;
mode:指定色彩模式,如果是不支持的模式,會報 KeyError 錯誤。
使用示例如下:
color4=ImageColor.getcolor('#EEA9B8','L') print(color4) color5=ImageColor.getcolor('yellow','RGBA') print(color5)
輸出結果:
191
(255, 255, 0, 255)
import PIL.Image as Image #============1.打開圖片============ img = Image.open('1.jpg') #============2.處理圖片============ #將圖片分成小方塊 img_array = img.load() #遍歷每一個像素塊,并處理顏色 width, height = img.size#獲取寬度和高度 for x in range(0,width): for y in range(0,height): rgb = img_array[x,y]#獲取一個像素塊的rgb r = rgb[0] g = rgb[1] b = rgb[2] if b>130 and r<120:#判斷規則 img_array[x, y] = (255, 0, 0) #============3.保存圖片============ img.save("2.jpg")
關于“Pillow圖像顏色處理怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。