Python圖像處理庫(kù)PIL的ImageEnhance模塊使用介紹
ImageEnhance模塊提供了一些用于圖像增強(qiáng)的類(lèi)。
一、ImageEnhance模塊的接口
所有的增強(qiáng)類(lèi)都實(shí)現(xiàn)了一個(gè)通用的接口,包括一個(gè)方法:
enhancer.enhance(factor) ⇒ image
該方法返回一個(gè)增強(qiáng)過(guò)的圖像。變量factor是一個(gè)浮點(diǎn)數(shù),控制圖像的增強(qiáng)程度。變量factor為1將返回原始圖像的拷貝;factor值越小,顏色越少(亮度,對(duì)比度等),更多的價(jià)值。對(duì)變量facotr沒(méi)有限制。
二、ImageEnhance模塊的Color類(lèi)
顏色增強(qiáng)類(lèi)用于調(diào)整圖像的顏色均衡,在某種程度上類(lèi)似控制彩色電視機(jī)。該類(lèi)實(shí)現(xiàn)的增強(qiáng)接口如下:
ImageEnhance.Color(image) ⇒ Color enhancer instance
創(chuàng)建一個(gè)增強(qiáng)對(duì)象,以調(diào)整圖像的顏色。增強(qiáng)因子為0.0將產(chǎn)生黑白圖像;為1.0將給出原始圖像。
ImageEnhance.Color類(lèi)的實(shí)例:
>>> 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類(lèi)
亮度增強(qiáng)類(lèi)用于調(diào)整圖像的亮度。
ImageEnhance.Brightness(image)⇒ Brightnessenhancer instance
創(chuàng)建一個(gè)調(diào)整圖像亮度的增強(qiáng)對(duì)象。增強(qiáng)因子為0.0將產(chǎn)生黑色圖像;為1.0將保持原始圖像。
ImageEnhance.Brightness類(lèi)的實(shí)例:
>>> 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類(lèi)
對(duì)比度增強(qiáng)類(lèi)用于調(diào)整圖像的對(duì)比度。類(lèi)似于調(diào)整彩色電視機(jī)的對(duì)比度。
ImageEnhance.Contrast(image)⇒ Contrast enhancer instance
創(chuàng)建一個(gè)調(diào)整圖像對(duì)比度的增強(qiáng)對(duì)象。增強(qiáng)因子為0.0將產(chǎn)生純灰色圖像;為1.0將保持原始圖像。
ImageEnhance.Contrast類(lèi)的實(shí)例:
>>> 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決定著圖像的對(duì)比度情況。從0.1到0.5,再到0.8,2.0,圖像的對(duì)比度依次增大。
圖像im_1如下:

圖像im_5如下:

圖像im_8如下:

圖像im_20如下:

五、ImageEnhance模塊的Sharpness類(lèi)
銳度增強(qiáng)類(lèi)用于調(diào)整圖像的銳度。
ImageEnhance.Sharpness(image)⇒ Sharpness enhancer instance
創(chuàng)建一個(gè)調(diào)整圖像銳度的增強(qiáng)對(duì)象。增強(qiáng)因子為0.0將產(chǎn)生模糊圖像;為1.0將保持原始圖像,為2.0將產(chǎn)生銳化過(guò)的圖像。
ImageEnhance.Sharpness類(lèi)的實(shí)例:
>>> 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()
#亮度增強(qiáng)
enh_bri = ImageEnhance.Brightness(image)
brightness = 1.5
image_brightened = enh_bri.enhance(brightness)
image_brightened.show()
#色度增強(qiáng)
enh_col = ImageEnhance.Color(image)
color = 1.5
image_colored = enh_col.enhance(color)
image_colored.show()
#對(duì)比度增強(qiáng)
enh_con = ImageEnhance.Contrast(image)
contrast = 1.5
image_contrasted = enh_con.enhance(contrast)
image_contrasted.show()
#銳度增強(qiáng)
enh_sha = ImageEnhance.Sharpness(image)
sharpness = 3.0
image_sharped = enh_sha.enhance(sharpness)
image_sharped.show()
到此這篇關(guān)于Python圖像處理庫(kù)PIL的ImageEnhance模塊使用介紹的文章就介紹到這了,更多相關(guān)PIL ImageEnhance模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)統(tǒng)計(jì)文本文件字?jǐn)?shù)的方法
這篇文章主要介紹了Python實(shí)現(xiàn)統(tǒng)計(jì)文本文件字?jǐn)?shù)的方法,涉及Python針對(duì)文本文件讀取及字符串轉(zhuǎn)換、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
基于Python和C++實(shí)現(xiàn)刪除鏈表的節(jié)點(diǎn)
這篇文章主要介紹了基于Python和C++實(shí)現(xiàn)刪除鏈表的節(jié)點(diǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
基于python不同開(kāi)根號(hào)的速度對(duì)比分析
這篇文章主要介紹了基于python不同開(kāi)根號(hào)的速度對(duì)比分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
Python使用Selenium WebDriver的入門(mén)介紹及安裝教程(最新推薦)
這篇文章主要介紹了Python使用Selenium WebDriver的入門(mén)介紹及安裝教程,本文使用環(huán)境為python3.11+win10 64位+firefox瀏覽器,所以本文使用的瀏覽器驅(qū)動(dòng)是Firefox的geckodriver ,如果你使用的是其他瀏覽器,那么選擇自己對(duì)應(yīng)的瀏覽器驅(qū)動(dòng)程序即可,需要的朋友可以參考下2023-04-04
教你使用Python獲取QQ音樂(lè)某個(gè)歌手的歌單
這篇文章主要介紹了Python獲取QQ音樂(lè)某個(gè)歌手的歌單,從qq音樂(lè)中獲取某個(gè)你喜歡的歌手的清單,涉及到的庫(kù)有requests、json,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
用Python實(shí)現(xiàn)一本個(gè)性化日歷
大家好,本篇文章主要講的是用Python實(shí)現(xiàn)一本個(gè)性化日歷,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下2022-02-02
解決pycharm臨時(shí)打包32位程序的問(wèn)題
這篇文章主要介紹了解決pycharm臨時(shí)打包32位程序的問(wèn)題,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Python實(shí)現(xiàn)定時(shí)自動(dòng)備份文件
隨著數(shù)據(jù)的不斷增長(zhǎng),文件備份變得越來(lái)越重要,這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)定時(shí)自動(dòng)備份文件功能,需要可以了解下2024-12-12
如何使用 Python 中的功能和庫(kù)創(chuàng)建 n-gram的過(guò)程
在計(jì)算語(yǔ)言學(xué)中,n-gram 對(duì)于語(yǔ)言處理、上下文和語(yǔ)義分析非常重要,本文將討論如何使用 Python 中的功能和庫(kù)創(chuàng)建 n-gram,感興趣的朋友一起看看吧2023-09-09

