Python PIL
PIL(Python Image Library)ライブラリは、Python言語のサードパーティライブラリです。PILライブラリは、画像の保存、表示、処理をサポートし、ほぼすべての形式の画像を処理できます。
1.PILライブラリの概要
(1) 画像ファイリング:画像のバッチ処理、プロダクション画像のプレビュー、画像フォーマットの変換など。
(2) 画像処理:基本的な画像処理、ピクセル処理、カラー処理など。
次に、ライブラリ関数をインストールします
3つ目は、ライブラリ関数Imageクラスを使用する-基本的な画像処理
from PIL import Image
方法 | 説明 |
---|---|
Image.open(filename) | 画像ファイルをロード |
Image.new(mode、size、color) | 指定されたパラメーターに従って新しい画像を作成します |
Image.open(StringIO.StringIO(buffer)) | 文字列から画像を取得 |
Image.frombytes(mode、size、color) | ピクセルに基づいて新しい画像を作成する |
Image.verify() | 画像の整合性をチェックして例外を返す |
方法 | 説明 |
---|---|
Image.format | 画像の形式またはソース。画像がファイルから読み取られない場合は、Noneを返します |
Image.mode | 画像のカラーモード、「L」はグレースケールモード、「RGB」はトゥルーカラー画像、「C(シアン)M(マゼンタ)Y(黄色)K(黒)」は公開された画像です |
Image.size | 画像の幅と高さ(ピクセル(px))、戻り値はタプルタイプです |
Image.palette | Paletteプロパティ。ImagePaletteタイプを返します |
方法 | 説明 |
---|---|
Image.seek(frame) | ジャンプして画像内の指定されたフレームに戻る |
Image.tell() | 現在のフレームのシリアル番号を返します |
方法 | 説明 |
---|---|
Image.resize(size) | サイズでサイズ変更された画像のコピーを返す |
Image.rotate(angle) | 角度で回転した画像のコピーを返す |
方法 | 説明 |
---|---|
Image.save(filename、format) | 画像をファイル名、フォーマット形式で保存 |
Image.convert(mode) | 画像をモードモードに変換します |
Image.thumbnail(size) | 画像のサムネイルを作成します。サイズはサムネイルサイズのタプルです |
''' 色を変更する---色の反転 '' '
from PIL import Image
nest = Image.open("D:\nest.jpg")
r、g、b = nest.split()#元の画像のRGBチャネルのカラー値を取得します
newb = b.point(lambda i:i * 1.1)#Bチャネルのカラー値を拡張します
nest1 = Image.merge(nest.mode,(b,g,r))
nest1.thumbnail((400,254))#サムネイルを作成
nest1.save("D:\nest_2.jpg")
方法 | 説明 |
---|---|
Image.point(func) | 関数funcの関数に従って各要素を計算し、画像のコピーを返します |
Image.split() | GRB画像の各カラーチャネルに従って、画像のコピーを返します |
Image.merge(mode、bands) | 複合チャネル。ここで、モードはカラーで、バンドは新しいカラーチャネルです |
Image.blend(im1、im2、alpha) | 式に従って2つの画像im1とim2を補間し、新しい画像式を生成します:im1 *(1.0-alpha)+ im2 * alpha |
第4に、ライブラリ関数ImageFilterクラス-画像フィルタリングを使用します
from PIL import ImageFilter
方法 | 説明 |
---|---|
ImageFilter.BLUR | 画像ぼかし効果 |
ImageFilter.CONTOUR | 画像の輪郭効果 |
ImageFilter.DETAIL | 画像詳細効果 |
ImageFilter.EDGE_ENHANCE | 画像境界強調効果 |
ImageFilter.EDGE_ENHANCE_MORE | 画像しきい値境界強調効果 |
ImageFilter.EMBOSS | 画像レリーフ効果 |
ImageFilter.FIND_EDGES | 画像の境界効果 |
ImageFilter.SMOOTH | 画像スムージング効果 |
ImageFilter.SMOOTH_MORE | 画像しきい値スムージング効果 |
ImageFilter.SHARPEN | 画像の鮮明化効果 |
# - *- encoding:utf-8-*-'''輪郭効果---スケッチ'''from PIL import Image
from PIL import ImageFilter
square = Image.open("D:\\square.jpg")
square1 = square.filter(ImageFilter.CONTOUR) #輪郭効果を選択
square1.save("D:\\square0.jpg")
Recommended Posts