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:以百分比來決定大小
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) #對(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()
原圖:

處理過的畫圖:(銳化過的)

PS:此外還有另一個(gè)比較常用的模塊,image模塊。
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Django1.7+python 2.78+pycharm配置mysql數(shù)據(jù)庫教程
原本感覺在Django1.7+python 2.78+pycharm環(huán)境下配置mysql數(shù)據(jù)庫是件很容易的事情,結(jié)果具體操作的時(shí)候才發(fā)現(xiàn),問題還是挺多的,這里記錄一下最終的配置結(jié)果,給需要的小伙伴參考下吧2014-11-11
Python 聊聊socket中的listen()參數(shù)(數(shù)字)到底代表什么
本篇文章對(duì)Python 聊聊socket中的listen()參數(shù)(數(shù)字)到底代表什么,進(jìn)行了很好的講解,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04
如何利用pygame實(shí)現(xiàn)打飛機(jī)小游戲
pygame是python的一個(gè)做游戲的庫,非常適合做游戲開發(fā),這篇文章主要給大家介紹了關(guān)于如何利用pygame實(shí)現(xiàn)打飛機(jī)小游戲的相關(guān)資料,需要的朋友可以參考下2021-05-05
python回調(diào)函數(shù)用法實(shí)例分析
這篇文章主要介紹了python回調(diào)函數(shù)用法,較為詳細(xì)的分析了常用的調(diào)用方式,并實(shí)例介紹了Python回調(diào)函數(shù)的使用技巧,需要的朋友可以參考下2015-05-05
python實(shí)現(xiàn)數(shù)據(jù)寫入excel表格
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)數(shù)據(jù)寫入excel表格,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
Python 實(shí)現(xiàn)一個(gè)計(jì)時(shí)器
這篇文章主要介紹了Python 實(shí)現(xiàn)一個(gè)計(jì)時(shí)器的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
django利用request id便于定位及給日志加上request_id
這篇文章主要介紹了django利用request id便于定位及給日志加上request_id的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2018-08-08
python操作注冊(cè)表的方法實(shí)現(xiàn)
Python提供了winreg模塊,可以用于操作Windows注冊(cè)表,本文就來介紹一下python操作注冊(cè)表的方法實(shí)現(xiàn),主要包括打開注冊(cè)表、讀取注冊(cè)表值、寫入注冊(cè)表值和關(guān)閉注冊(cè)表,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08
Win7下Python與Tensorflow-CPU版開發(fā)環(huán)境的安裝與配置過程
這篇文章主要介紹了Win7下Python與Tensorflow-CPU版安裝與配置心得,需要的朋友可以參考下2018-01-01

