python處理圖片之PIL模塊簡(jiǎn)單使用方法
本文實(shí)例講述了python處理圖片之PIL模塊簡(jiǎn)單使用方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
#!/usr/bin/env python
#encoding: utf-8
import Image
class myimg:
def __init__(self, open_file, save_file):
self.img = Image.open(open_file)
self.save_file = save_file
def Change_Size(self, percent=100, height=None, width=None):
'''''
percent:以百分比來(lái)決定大小
height, width:以指定的高、寬來(lái)決定大小
'''
if not (height and width):
width,height = self.img.size
new_img = self.img.resize((width*percent/100,height*percent/100),Image.BILINEAR)
new_img.save(self.save_file)
def Rotation(self, angle):
'''''
angle: 旋轉(zhuǎn)的度數(shù)
'''
rot_img = self.img.rotate(angle) #旋轉(zhuǎn)
rot_img.save(self.save_file)
def Save_as(self, filename):
'''''
filename: 另存為圖片格式,直接根據(jù)后綴名來(lái)
'''
self.img.save(filename)
def Draw_Something(self):
'''''
利用ImageDraw來(lái)畫(huà)圖形
'''
import ImageDraw
draw = ImageDraw.Draw(self.img)
width,height = self.img.size
draw.line(((0,0),(width-1,height-1)),fill=255) #畫(huà)直線
draw.line(((0,height-1),(width-1,0)),fill=255)
draw.arc((0,0,width-1,height-1),0,360,fill=255) #畫(huà)橢圓
self.img.save(self.save_file)
def Enhance_Something(self):
'''''
利用 ImageEnhance來(lái)增強(qiáng)圖片效果
'''
import ImageEnhance
brightness = ImageEnhance.Brightness(self.img)
bright_img = brightness.enhance(2.0) ##亮度增強(qiáng)
bright_img.save(self.save_file)
sharpness = ImageEnhance.Sharpness(self.img)
sharp_img = sharpness.enhance(7.0) #銳度增強(qiáng)
sharp_img.save(self.save_file)
contrast = ImageEnhance.Contrast(self.img) #對(duì)比度增強(qiáng)
contrast_img = contrast.enhance(2.0)
contrast_img.save(self.save_file)
if __name__ == "__main__":
file_name = r"D:\test.png"
save_file = r"D:\save.png"
saveas_file = r"D:\save_as.bmp"
oimg = myimg(file_name, save_file)
oimg.Change_Size(30)
oimg.Rotation(45)
oimg.Save_as(saveas_file)
oimg.Draw_Something()
oimg.Enhance_Something()
原圖:

處理過(guò)的畫(huà)圖:(銳化過(guò)的)

PS:此外還有另一個(gè)比較常用的模塊,image模塊。
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
聊聊python dropna()和notnull()的用法區(qū)別
這篇文章主要介紹了聊聊python dropna()和notnull()的用法區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
keras中epoch,batch,loss,val_loss用法說(shuō)明
這篇文章主要介紹了keras中epoch,batch,loss,val_loss用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
使用Python和scikit-learn創(chuàng)建混淆矩陣的示例詳解
這篇文章主要介紹了使用Python和scikit-learn創(chuàng)建混淆矩陣的示例詳解,該示例包括生成數(shù)據(jù)集、為數(shù)據(jù)集選擇合適的機(jī)器學(xué)習(xí)模型、構(gòu)建、配置和訓(xùn)練它,最后解釋結(jié)果,即混淆矩陣,需要的朋友可以參考下2022-06-06
如何利用Python解析超大的json數(shù)據(jù)(GB級(jí)別)
果不想從頭開(kāi)始創(chuàng)建數(shù)據(jù)格式來(lái)存儲(chǔ)數(shù)據(jù),JSON是一個(gè)不錯(cuò)的選擇,下面這篇文章主要給大家介紹了關(guān)于如何利用Python解析超大的json數(shù)據(jù)(GB級(jí)別)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
python使用PIL縮放網(wǎng)絡(luò)圖片并保存的方法
這篇文章主要介紹了python使用PIL縮放網(wǎng)絡(luò)圖片并保存的方法,涉及Python操作網(wǎng)絡(luò)圖片的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
python計(jì)算鄰接矩陣的實(shí)現(xiàn)示例
鄰接矩陣是一種常見(jiàn)的圖表示方法,本文主要介紹了python計(jì)算鄰接矩陣的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11
PyCharm設(shè)置每行最大長(zhǎng)度限制的方法
今天小編就為大家分享一篇PyCharm設(shè)置每行最大長(zhǎng)度限制的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01

