Python圖像處理庫PIL的ImageEnhance模塊使用介紹
ImageEnhance模塊提供了一些用于圖像增強的類。
一、ImageEnhance模塊的接口
所有的增強類都實現(xiàn)了一個通用的接口,包括一個方法:
enhancer.enhance(factor) ⇒ image
該方法返回一個增強過的圖像。變量factor是一個浮點數(shù),控制圖像的增強程度。變量factor為1將返回原始圖像的拷貝;factor值越小,顏色越少(亮度,對比度等),更多的價值。對變量facotr沒有限制。
二、ImageEnhance模塊的Color類
顏色增強類用于調(diào)整圖像的顏色均衡,在某種程度上類似控制彩色電視機。該類實現(xiàn)的增強接口如下:
ImageEnhance.Color(image) ⇒ Color enhancer instance
創(chuàng)建一個增強對象,以調(diào)整圖像的顏色。增強因子為0.0將產(chǎn)生黑白圖像;為1.0將給出原始圖像。
ImageEnhance.Color類的實例:
>>> from PIL import Image, ImageEnhance
>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im_1 = ImageEnhance.Color(im02).enhance(0.1)
>>> im_5 = ImageEnhance.Color(im02).enhance(0.5)
>>> im_8 =ImageEnhance.Color(im02).enhance(0.8)
>>> im_20 = ImageEnhance.Color(im02).enhance(2.0)
從前面的介紹,我們可以得知函數(shù)enhance()的參數(shù)factor決定著圖像的顏色飽和度情況。從0.1到0.5,再到0.8,2.0,圖像的顏色飽和度依次增大。
圖像im_1如下:
圖像im_5如下:

圖像im_8如下:

圖像im_20如下:

三、ImageEnhance模塊的Brightness類
亮度增強類用于調(diào)整圖像的亮度。
ImageEnhance.Brightness(image)⇒ Brightnessenhancer instance
創(chuàng)建一個調(diào)整圖像亮度的增強對象。增強因子為0.0將產(chǎn)生黑色圖像;為1.0將保持原始圖像。
ImageEnhance.Brightness類的實例:
>>> from PIL import Image, ImageEnhance
>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im_2 = ImageEnhance.Brightness(im02).enhance(0.2)
>>> im_5 = ImageEnhance.Brightness(im02).enhance(0.5)
>>> im_8 =ImageEnhance.Brightness (im02).enhance(0.8)
>>> im_20 =ImageEnhance.Brightness (im02).enhance(2.0)
該函數(shù)enhance()的參數(shù)factor決定著圖像的亮度情況。從0.1到0.5,再到0.8,2.0,圖像的亮度依次增大。
圖像im_2如下:

圖像im_5如下:

圖像im_8如下:

圖像im_20如下:

四、ImageEnhance模塊的Contrast類
對比度增強類用于調(diào)整圖像的對比度。類似于調(diào)整彩色電視機的對比度。
ImageEnhance.Contrast(image)⇒ Contrast enhancer instance
創(chuàng)建一個調(diào)整圖像對比度的增強對象。增強因子為0.0將產(chǎn)生純灰色圖像;為1.0將保持原始圖像。
ImageEnhance.Contrast類的實例:
>>> from PIL import Image, ImageEnhance
>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im_1 = ImageEnhance.Contrast(im02).enhance(0.1)
>>> im_5 = ImageEnhance.Contrast(im02).enhance(0.5)
>>> im_8 =ImageEnhance.Contrast (im02).enhance(0.8)
>>> im_20 =ImageEnhance.Contrast (im02).enhance(2.0)
該函數(shù)enhance()的參數(shù)factor決定著圖像的對比度情況。從0.1到0.5,再到0.8,2.0,圖像的對比度依次增大。
圖像im_1如下:

圖像im_5如下:

圖像im_8如下:

圖像im_20如下:

五、ImageEnhance模塊的Sharpness類
銳度增強類用于調(diào)整圖像的銳度。
ImageEnhance.Sharpness(image)⇒ Sharpness enhancer instance
創(chuàng)建一個調(diào)整圖像銳度的增強對象。增強因子為0.0將產(chǎn)生模糊圖像;為1.0將保持原始圖像,為2.0將產(chǎn)生銳化過的圖像。
ImageEnhance.Sharpness類的實例:
>>> from PIL import Image, ImageEnhance
>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im_0 = ImageEnhance.Sharpness(im02).enhance(0.0)
>>> im_20 =ImageEnhance.Sharpness (im02).enhance(2.0)
>>> im_30 =ImageEnhance.Sharpness (im02).enhance(3.0)
該函數(shù)enhance()的參數(shù)factor決定著圖像的銳度情況。從0.0到2.0,再到3.0,圖像的銳度依次增大。
圖像im_0如下:

圖像im_20如下:

圖像im_30如下:

六、ImageEnhance示例
#-*- coding: UTF-8 -*-
from PIL import Image
from PIL import ImageEnhance
#原始圖像
image = Image.open('lena.jpg')
image.show()
#亮度增強
enh_bri = ImageEnhance.Brightness(image)
brightness = 1.5
image_brightened = enh_bri.enhance(brightness)
image_brightened.show()
#色度增強
enh_col = ImageEnhance.Color(image)
color = 1.5
image_colored = enh_col.enhance(color)
image_colored.show()
#對比度增強
enh_con = ImageEnhance.Contrast(image)
contrast = 1.5
image_contrasted = enh_con.enhance(contrast)
image_contrasted.show()
#銳度增強
enh_sha = ImageEnhance.Sharpness(image)
sharpness = 3.0
image_sharped = enh_sha.enhance(sharpness)
image_sharped.show()
到此這篇關于Python圖像處理庫PIL的ImageEnhance模塊使用介紹的文章就介紹到這了,更多相關PIL ImageEnhance模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python實現(xiàn)統(tǒng)計文本文件字數(shù)的方法
這篇文章主要介紹了Python實現(xiàn)統(tǒng)計文本文件字數(shù)的方法,涉及Python針對文本文件讀取及字符串轉(zhuǎn)換、運算等相關操作技巧,需要的朋友可以參考下2017-05-05
基于Python和C++實現(xiàn)刪除鏈表的節(jié)點
這篇文章主要介紹了基于Python和C++實現(xiàn)刪除鏈表的節(jié)點,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07
Python使用Selenium WebDriver的入門介紹及安裝教程(最新推薦)
這篇文章主要介紹了Python使用Selenium WebDriver的入門介紹及安裝教程,本文使用環(huán)境為python3.11+win10 64位+firefox瀏覽器,所以本文使用的瀏覽器驅(qū)動是Firefox的geckodriver ,如果你使用的是其他瀏覽器,那么選擇自己對應的瀏覽器驅(qū)動程序即可,需要的朋友可以參考下2023-04-04
如何使用 Python 中的功能和庫創(chuàng)建 n-gram的過程
在計算語言學中,n-gram 對于語言處理、上下文和語義分析非常重要,本文將討論如何使用 Python 中的功能和庫創(chuàng)建 n-gram,感興趣的朋友一起看看吧2023-09-09

