python處理圖片之PIL模塊簡單使用方法
本文實(shí)例講述了python處理圖片之PIL模塊簡單使用方法。分享給大家供大家參考。具體實(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:以百分比來決定大小 height, width:以指定的高、寬來決定大小 ''' 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ù)后綴名來 ''' self.img.save(filename) def Draw_Something(self): ''''' 利用ImageDraw來畫圖形 ''' import ImageDraw draw = ImageDraw.Draw(self.img) width,height = self.img.size draw.line(((0,0),(width-1,height-1)),fill=255) #畫直線 draw.line(((0,height-1),(width-1,0)),fill=255) draw.arc((0,0,width-1,height-1),0,360,fill=255) #畫橢圓 self.img.save(self.save_file) def Enhance_Something(self): ''''' 利用 ImageEnhance來增強(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) #對比度增強(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()
原圖:
處理過的畫圖:(銳化過的)
PS:此外還有另一個比較常用的模塊,image模塊。
希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
聊聊python dropna()和notnull()的用法區(qū)別
這篇文章主要介紹了聊聊python dropna()和notnull()的用法區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03keras中epoch,batch,loss,val_loss用法說明
這篇文章主要介紹了keras中epoch,batch,loss,val_loss用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧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級別)
果不想從頭開始創(chuàng)建數(shù)據(jù)格式來存儲數(shù)據(jù),JSON是一個不錯的選擇,下面這篇文章主要給大家介紹了關(guān)于如何利用Python解析超大的json數(shù)據(jù)(GB級別)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07python使用PIL縮放網(wǎng)絡(luò)圖片并保存的方法
這篇文章主要介紹了python使用PIL縮放網(wǎng)絡(luò)圖片并保存的方法,涉及Python操作網(wǎng)絡(luò)圖片的相關(guān)技巧,非常具有實(shí)用價值,需要的朋友可以參考下2015-04-04python計(jì)算鄰接矩陣的實(shí)現(xiàn)示例
鄰接矩陣是一種常見的圖表示方法,本文主要介紹了python計(jì)算鄰接矩陣的實(shí)現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下2023-11-11