Python學習筆記__13.1章 三方模組 Pillow

來源:互聯網
上載者:User

標籤:程式設計語言   Python   

# 這是學習廖雪峰老師python教程的學習筆記

Python平台事實上的影像處理標準庫是PIL:Python Imaging Library。一群志願者在PIL的基礎上建立了相容的版本,名字叫Pillow

1、操作映像

from PIL import Image

 

# 開啟一個jpg影像檔,注意是當前路徑:

im = Image.open('test.jpg')

# 獲得映像尺寸:

w, h = im.size

print('Original image size: %sx%s' % (w, h))

# 縮放到50%:

im.thumbnail((w//2, h//2))

print('Resize image to: %sx%s' % (w//2, h//2))

# 把縮放後的映像用jpeg格式另存新檔thumbnail.jpg:

im.save('thumbnail.jpg', 'jpeg')

2、模糊效果

from PIL import Image, ImageFilter

 

# 開啟一個jpg影像檔,注意是當前路徑:

im = Image.open('test.jpg')

# 應用模糊濾鏡:

im2 = im.filter(ImageFilter.BLUR)

im2.save('blur.jpg', 'jpeg')

 

3、產生字母驗證碼圖片

from PIL import Image, ImageDraw, ImageFont, ImageFilter

import random

 

# 隨機字母:

def rndChar():

    return chr(random.randint(65, 90))

 

# 隨機顏色1:

def rndColor():

    return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))

 

# 隨機顏色2:

def rndColor2():

    return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))

 

# 大小:240 x 60:

width = 60 * 4

height = 60

# 建立image對象,RGB:色彩模式,(width, height):圖片尺寸。 (255, 255, 255):16進位顏色碼,這是白色

image = Image.new('RGB', (width, height), (255, 255, 255))

# 建立Font對象,定義了映像的字型和字型大小。用絕對路徑,避免報錯

font = ImageFont.truetype("C/Windows/Fonts/ahronbd.ttf", 36)

# 建立Draw對象,將最初建立的image對象作為參數

draw = ImageDraw.Draw(image)

# 填充每個像素:

for x in range(width):

    for y in range(height):

        draw.point((x, y), fill=rndColor())

# 輸出文字:

for t in range(4):

    draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2()) #設定字元位置,字元,字元的字型,字元的顏色

# 模糊:

image = image.filter(ImageFilter.BLUR)

image.save('code.jpg', 'jpeg')

 

 

4、擴充文檔

Pillow官方文檔 (https://pillow.readthedocs.io/en/5.1.x/)

Python-Image 基本的影像處理操作 (https://www.cnblogs.com/kongzhagen/p/6295925.html)


Python學習筆記__13.1章 三方模組 Pillow

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.