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

來源:互聯網
上載者:User
本文執行個體講述了python處理圖片之PIL模組簡單使用方法。分享給大家供大家參考。具體實現方法如下:

#!/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模組。

希望本文所述對大家的Python程式設計有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.