萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> python處理圖片之PIL模塊簡單使用方法

python處理圖片之PIL模塊簡單使用方法

   這篇文章主要介紹了python處理圖片之PIL模塊簡單使用方法,涉及Python使用PIL模塊實現針對圖片的銳化、繪制直線、繪制橢圓等相關技巧,需要的朋友可以參考下

  本文實例講述了python處理圖片之PIL模塊簡單使用方法。分享給大家供大家參考。具體實現方法如下:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 #!/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: 旋轉的度數 ''' rot_img = self.img.rotate(angle) #旋轉 rot_img.save(self.save_file) def Save_as(self, filename): ''''' filename: 另存為圖片格式,直接根據後綴名來 ''' 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來增強圖片效果 ''' import ImageEnhance brightness = ImageEnhance.Brightness(self.img) bright_img = brightness.enhance(2.0) ##亮度增強 bright_img.save(self.save_file) sharpness = ImageEnhance.Sharpness(self.img) sharp_img = sharpness.enhance(7.0) #銳度增強 sharp_img.save(self.save_file) contrast = ImageEnhance.Contrast(self.img) #對比度增強 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模塊。

copyright © 萬盛學電腦網 all rights reserved