Pillow圖像顏色處理的具體使用_第1頁
Pillow圖像顏色處理的具體使用_第2頁
Pillow圖像顏色處理的具體使用_第3頁
Pillow圖像顏色處理的具體使用_第4頁
Pillow圖像顏色處理的具體使用_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第Pillow圖像顏色處理的具體使用目錄顏色命名getrgb()方法getcolor()示例——修改證件照背景色Pillow提供了顏色處理模塊ImageColor,該模塊支持不同格式的顏色,比如RGB格式的顏色三元組、十六進制的顏色名稱(#ff0000)以及顏色英文單詞("red")。同時,它還可以將CSS(層疊樣式表,用來修飾網(wǎng)頁)風(fēng)格的顏色轉(zhuǎn)換為RGB格式。

注意,在ImageColor模塊對顏色的大小并不敏感,比如"Red"也可以寫為"red"。

顏色命名

ImageColor支持多種顏色模式的的命名(即使用固定的格式對顏值進行表示),比如我們熟知的RGB色彩模式,除此之外,還有HSL(色調(diào)-飽和度-明度)、HSB(又稱HSV,色調(diào)-飽和度-亮度)色彩模式。下面對HSL做簡單介紹:

H:即Hue色調(diào),取值范圍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)。如果想了解有關(guān)HSL/HSB的更多知識,點擊鏈接前往。

ImageColor模塊比較簡單,只提供了兩個常用方法,分別是getrgb()和getcolor()函數(shù)。

getrgb()方法

顧名思義,該函數(shù)用來得到顏色的RGB值,語法格式如下:

PIL.ImageColor.getrgb(color)

使用示例如下:

fromPILimportImage,ImageColor

#getrgb()方法

color1=ImageColor.getrgb("blue")

print(color1)

color2=ImageColor.getrgb('#DCDCDC')

print(color2)

#使用HSL模式紅色

color3=ImageColor.getrgb('HSL(0,100%,50%)')

print(color3)

輸出結(jié)果如下:

(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:新建圖像

getcolor()

該方法與getrgb()類似,同樣用來獲取顏色值,不過它多了一個mode參數(shù),因此該函數(shù)可以獲取指定色彩模式的顏色值。語法格式如下:

PIL.ImageColor.getcolor(color,mode)

參數(shù)說明如下:

color:一個顏色名稱,字符串格式,可以是顏色的英文單詞,或者十六進制顏色名。如果是不支持的顏色,會報ValueError錯誤;

mode:指定色彩模式,如果是不支持的模式,會報KeyError錯誤。

使用示例如下:

color4=ImageColor.getcolor('#EEA9B8','L')

print(color4)

color5=ImageColor.getcolor('yellow','RGBA')

print(color5)

輸出結(jié)果:

191

(255,255,0,255)

示例——修改證件照背景色

importPIL.ImageasImage

#============1.打開圖片============

img=Image.open('1.jpg')

#============2.處理圖片============

#將圖片分成小方塊

img_array=img.load()

#遍歷每一個像素塊,并處理顏色

width,height=img.size#獲取寬度和高度

forxinrange(0,width):

foryinrange(0,height):

rgb=img_array[x,y]#獲取一個像素塊的rgb

r=rgb[0]

g=rgb[1]

b=rgb[2]

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論