Python PILライブラリの関連操作

1. PILライブラリの概要:PILライブラリは、画像のアーカイブと画像処理の機能要件を完了することができます。(1)画像アーカイブ:画像のバッチ処理、画像プレビューの生成、画像フォーマット変換など;(2)画像処理:基本的な画像処理、ピクセル処理、色処理など

PILライブラリについてImageクラスの分析手順()

 

画像ファイルをロードするには、im = Image.open( 'Image save location')、画像を保存したいim.save( 'Want to save the image location')

以下では、いくつかの例を使用して説明します。

#im.thumbnail =((128,128))imのサムネイルを生成します。(128,128)はサムネイルのサイズです。

PILインポート画像から#参照PILライブラリ
im = Image.open( 'C:/ Users / 86183 / Desktop / WeChat picture_20200414133515.jpg')#画像を開く
im.thumbnail((128,128))#画像のサムネイル、バイナリ(128,128)は、生成された画像のサイズです
im.save( 'C:/Users/86183/Desktop/suolvutu1.jpg')#保存

<オリジナル画像   <サムネイル

 色替えの例

PILインポート画像から
im = Image.open( 'C:/ Users / 86183 / Desktop / WeChat picture_20200414134749.jpg')
r、g、b = im.split()#RGBチャネルを
取得newg = g.point(lambda i:i * 0.9)
#G チャネルのカラー値を元のnewb = b.pointの0.9倍に変更します(lambda i:i <100)
#B チャネル値が100 om未満のピクセルポイントを選択しますom = Image.merge(im。 mode、(r、newg、newb))#3つのチャネルを組み合わせて新しい画像
om.save( 'C:/ Users / 86183 / Desktop / color change.jpg')#出力画像

<原画:<色替え後

 

画像のフィルタリングと拡張:次のように、ImageクラスのFilter()メソッドを使用してImageFilterクラスを使用します。Image.filter(ImageFliter.fuction)

画像の輪郭を取得します。オリジナル画像同上

PILインポート画像からPILインポート画像
からImageFilter 
im = Image.open( 'C:/ Users / 86183 / Desktop / WeChat picture_20200414134749.jpg')
om = im.filter(ImageFilter.CONTOUR)
om.save( 'C:/ユーザー/ 86183 /デスクトップ/ profile.jpgを取得 ')

 <概要

画像のフィルタリングと拡張:

 

 ImageFilter.EMBOSSを使用すると、画像にレリーフ効果を生み出すことができます。具体的な操作は次のとおりです。

PILインポートイメージからPILインポートイメージ
からImageFilter 
im = Image.open( 'C:/ Users / 86183 / Desktop / WeChat image_20200414134749.jpg')
om = im.filter(ImageFilter.EMBOSS)
om.save( 'C:/ユーザー/ 86183 /デスクトップ/レリーフmap.jpg ')

 <エンボス

 

絵文字描画:

ビットマップ画像は、さまざまな色のピクセルで構成される規則的な分布です。ピクセルの代わりに文字列を使用すると、画像は文字の描画になります。

PILインポート画像から
ascii_char = list( '"$%_&WM#* oahkbdpqwmZO0QLCJUYXzcvunxr \ 
jft / \ |()1 {} []?-/ + @ <> i!;:、\ ^`。')
def get_char(r 、b、g、alpha = 256):
    if alpha == 0:
        return '' 
    gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)    
    unit = 256 / len(ascii_char)
    return ascii_char [int(gray / / unit)] 
def main():
    im = Image.open( 'file:/// C:/ Users / 86183 / Desktop /微信图片_20200414182738.png')
    WIDTH、HEIGHT = 100,100 
    im = im.resize(( WIDTH、HEIGHT))
    txt = "" 
    for i in range(HEIGHT):
        for j in range(WIDTH):
            txt + = get_char(* im.getpixel((j、i))) 
    fo = open( "zifuhua.txt "、" w ")
    fo。書き込み(txt)
    fo.close()
main()

  <原画<キャラクター写真

 

 

 

 

 

上記の例に加えて、PILはGIF画像を作成し、GIF画像を抽出することもできます。

 

PILインポートイメージから
im = Image.open( 'C:/Users/86183/Desktop/2016120211583958491.gif')を
試してください:
    im.save( 'C:/ Users / 86183 / Desktop / tiquzhenshu {:03d} .png'。 format(im.tell()))
    while True:
        im.seek(im.tell()+ 1)
        im.save( 'C:/ Users / 86183 / Desktop / tiquzhenshu {:02d} .png'.format(im .tell()))
    を除く:
        print( '操作完了')
        

  

 

 

 

<オリジナルGIF画像                        

 

おすすめ

転載: www.cnblogs.com/kwjl/p/12698677.html