Python圖像處理庫PIL的ImageEnhance模塊使用介紹
ImageEnhance模塊提供了一些用于圖像增強(qiáng)的類。
一、ImageEnhance模塊的接口
所有的增強(qiáng)類都實(shí)現(xiàn)了一個(gè)通用的接口,包括一個(gè)方法:
enhancer.enhance(factor) ⇒ image
該方法返回一個(gè)增強(qiáng)過的圖像。變量factor是一個(gè)浮點(diǎn)數(shù),控制圖像的增強(qiáng)程度。變量factor為1將返回原始圖像的拷貝;factor值越小,顏色越少(亮度,對(duì)比度等),更多的價(jià)值。對(duì)變量facotr沒有限制。
二、ImageEnhance模塊的Color類
顏色增強(qiáng)類用于調(diào)整圖像的顏色均衡,在某種程度上類似控制彩色電視機(jī)。該類實(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類的實(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類
亮度增強(qiáng)類用于調(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類的實(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類
對(duì)比度增強(qiáng)類用于調(diào)整圖像的對(duì)比度。類似于調(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類的實(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類
銳度增強(qiáng)類用于調(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)生銳化過的圖像。
ImageEnhance.Sharpness類的實(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圖像處理庫PIL的ImageEnhance模塊使用介紹的文章就介紹到這了,更多相關(guān)PIL ImageEnhance模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入理解Python虛擬機(jī)中字節(jié)(bytes)的實(shí)現(xiàn)原理及源碼剖析
在本篇文章當(dāng)中主要給大家介紹在?cpython?內(nèi)部,bytes?的實(shí)現(xiàn)原理、內(nèi)存布局以及與?bytes?相關(guān)的一個(gè)比較重要的優(yōu)化點(diǎn)——?bytes?的拼接,需要的可以參考一下2023-03-03Python使用Selenium實(shí)現(xiàn)淘寶搶單的流程分析
這篇文章主要介紹了Python使用Selenium實(shí)現(xiàn)淘寶搶單的流程分析,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06實(shí)例講解Python中浮點(diǎn)型的基本內(nèi)容
在本文里小編給大家整理了關(guān)于Python中浮點(diǎn)型的基本知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。2019-02-02Python基礎(chǔ)語法(Python基礎(chǔ)知識(shí)點(diǎn))
這篇文章主要介紹了Python基礎(chǔ)語法(Python基礎(chǔ)知識(shí)點(diǎn)),需要的朋友可以參考下2016-02-02python編寫一個(gè)會(huì)算賬的腳本的示例代碼
這篇文章主要介紹了python編寫一個(gè)會(huì)算賬的腳本,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06Python使用ftplib實(shí)現(xiàn)簡(jiǎn)易FTP客戶端的方法
這篇文章主要介紹了Python使用ftplib實(shí)現(xiàn)簡(jiǎn)易FTP客戶端的方法,實(shí)例分析了ftplib模塊相關(guān)設(shè)置與使用技巧,需要的朋友可以參考下2015-06-06Python實(shí)現(xiàn)圖片識(shí)別加翻譯功能
這篇文章主要介紹了Python使用百度AI接口實(shí)現(xiàn)圖片識(shí)別加翻譯功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12