枕
枕は派生ブランチPILであるが、今PIL独自の画像処理ライブラリよりダイナミックに進化してきました。枕はPILを交換していると言うことができる、(インストールするPIP)Pythonライブラリをカプセル化し、python2とのpython3をサポートし、最新バージョンは3.0.0です。
枕のGithubのページ:https://github.com/python-pillow/Pillow
枕文書(対応バージョンV3.0.0):
https://pillow.readthedocs.org/en/latest/handbook/index.html
インストールするのは非常に簡単です pip install pillow
使用します。
#Python2 インポート画像 #1 (あなたがPILイメージをインポートするので、導出されているため、PILライブラリー)のpython3 から PIL インポート画像
例のpython3するには、
- 開いた
PILのインポートイメージの イム = Image.open(" 1.png " ) im.show()
- フォーマット
サイズ属性タプル、(ピクセル単位の)幅と高さを表す画像である; MODE属性は一般に、画像の概略図である開いていない場合、属性値なしから画像ファイルがあればフォーマット属性は、画像のフォーマットを定義しますモード:Lは、RGBトゥルーカラーをグレースケールに、CMYK画像は、プリプレスです。ファイルを開くことができない場合、例外IOError例外がスローされます。
印刷(im.format、im.size、im.mode)
- 保存する
im.save(" C:\\ ")
- 変換()
:変換()メソッドは、オブジェクト画像のインスタンスであるカラーモードを指定するためのモードパラメータを受け入れ、次のように、モード値が要約されてもよい
(・1つの画素に格納されている1「ビット画素、黒と白、。バイト)あたり
・L(8-'bit画素、黒と白)
・P(8「他のモード使用してAのカラーパレットにマッピングされたビットピクセル)
・真の色にRGB(3x8-'bitピクセル)
・RGBA(4x8-」ビット透明マスクを持つ真の色にピクセル)
・CMYK(4×8-'bitピクセル色、分離)
・のYCbCr(3x8-「ビットピクセル、カラービデオフォーマット)
・I(32-'bit符号付き整数ピクセル)
・F.(32」ビット浮動小数点ピクセル)
IM = Image.open(' 1.png ').convert(' L ')
フィルタ
PIL インポートイメージ、のImageFilter IM = Image.open( '1 .PNG') #ガウスぼかし im.filter(ImageFilter.GaussianBlur) #通常ファジー im.filter(ImageFilter.BLUR) #のエッジ強調 im.filter(ImageFilter.EDGE_ENHANCE ) #エッジ見つける im.filter(ImageFilter.FIND_EDGES) #1 リリーフ im.filter(ImageFilter.EMBOSS) #の輪郭 im.filter(ImageFilter.CONTOUR) #の鮮鋭化 im.filter(ImageFilter.SHARPEN) #平滑 im.filter(のImageFilterを.SMOOTH) #の詳細 im.filter(ImageFilter.DETAIL)
表示画像のヒストグラム
im.histogram()
画像ファイル形式を変換します
DEF img2jpg(imgFile): もしタイプ(imgFile)== STR と imgFile.endswith((' .BMP '、' .GIF '、' .PNG ' )): IMとしてImage.open(imgFile)を有する: im.convert (' RGB ').SAVE(imgFile [ - 3] + ' JPG ' ) img2jpg(' 1.gif ' ) img2jpg(' 1.bmp ' ) img2jpg(' 1.png ')
スクリーンショット
PIL インポートImageGrab IM = ImageGrab.grab((0,0,800,200)) #の採取画面の特定領域の画像 IM = ImageGrab.grab() #をパラメータなしでフルスクリーンショットを示しています
カット&ペーストの画像
=ボックス(120、194、220、294)は#を定義クリッピング領域 地域= im.crop(ボックス)#1 トリミング 領域= region.transpose(Image.ROTATE_180) im.paste(領域、ボックス)#1 ペースト
画像のスケーリング
im.resize = IM((100,100)) #のパラメータは、幅と高さを表し、それぞれ、画像の新しいサイズを示します
画像のコントラスト強調
PIL インポートイメージ から PIL インポートザImageEnhance #原画像 イメージImage.open =(' lena.jpg ' ) image.show() #の輝度向上 enh_bri = ImageEnhance.Brightness(画像) の明るさ = 1.5 image_brightened = enh_bri.enhance(明るさ) image_brightened.show() #の彩度強調 enh_col = ImageEnhance.Color(イメージ) カラー = 1.5 image_colored = enh_col.enhance(カラー) image_colored.show() #コントラスト強調 enh_con = ImageEnhance.Contrast(画像) のコントラスト = 1.5 image_contrasted = enh_con.enhance(コントラスト) image_contrasted.show() #の鮮鋭度強調 enh_sha = ImageEnhance.Sharpness(画像) シャープネス = 3.0 image_sharped = enh_sha.enhance(シャープネス) image_sharped .SHOW()
画像モジュールの使用プレゼンテーション
1.はじめに。
画像処理は技術の非常に広いアプリケーションであり、この祭りのドアを見逃すことはありません確かにサードパーティの拡張機能のPythonの非常に豊富なライブラリを持っています。PIL(Pythonのイメージングライブラリ)は、最も一般的に使用されるPythonの画像処理ライブラリ、現在のバージョンである1.1.7で、我々はできる 、ここで 研究をダウンロードして、情報を検索します。
ImageクラスPILライブラリを直接画像ファイルをロードすることによって、このクラスのインスタンスを作成するために非常に重要なクラスは3つの方法の方法により得られた画像グラブ画像を読み込んで処理することができています。
2.使用。
画像のインポートモジュール。そして、openメソッドのImageクラスは、イメージファイルをロードします。あなたが失敗したファイルをロードする場合、それは例外IOErrorが発生します。エラーが返されていない場合、open関数は、Imageオブジェクトを返します。今、私たちは、つまり、オブジェクト属性の数によって、ファイルの内容を確認することができます。
>>> インポートイメージ >>> IM = Image.open(" j.jpg " )
>>> im.show() >>> 印刷im.format、im.size、im.mode JPEG( 440、330)RGB
3つの属性、我々は理解して一つ一つがあります。
フォーマット:識別画像ソースフォーマットファイルは、ファイルから読み込まれていない場合、値はNoneに設定しました。
サイズ:タプルを返し、二つの要素、ピクセルの幅と高さの感覚の価値があります。
モード:RGB(トゥルーカラー画像)、また、L(輝度)、CMTK(プリプレス画像)。
PILのインポート画像 から PILの輸入ImageEnhance 輸入pytesseractの 輸入再 pytesseract.pytesseract.tesseract_cmd = ' \\プログラムファイル\\たTesseract OCR-\\ tesseract.exe D ' tessdata_dir_config = " --tessdata-dirの「D:\\プログラムファイル\\たTesseract OCR-\\ tessdata」' イム = Image.open(" ./img/10.jpg " ) イム = im.convert(' L " ) im.show() イム = ImageEnhance.Contrast(IM) イム= im.enhance(1 ) #IM = im.resize((300、90)) LTEXT = pytesseract.image_to_string(IM) LTEXT = re.sub(" \ W "、"" 、LTEXT) im.show() 印刷(LTEXT) #1 プリント(pytesseract.image_to_string(IM)) #のプリント(pytesseract.image_to_boxes(IM)) #のプリント(im.format、im.size、im.mode)
()変換:この機能は、異なるカラーモードに画像を変換するために使用することができます。
ImageEnhance.Contrast(IM):使用ImageEnhanceは、認識率の絵を高めることができます
他の
シンプルな幾何学的変換。
OUT = im.resize >>>((128、128)) #画像をリサイズ >>> OUT im.rotate =(45) #は、反時計回りに45度回転しました。 OUT = im.transpose >>>(Image.FLIP_LEFT_RIGHT) #は、スワップ左。 OUT = im.transpose >>>(Image.FLIP_TOP_BOTTOM) #垂直スワップ。 OUT = im.transpose >>>(Image.ROTATE_90) #1 90度の回転角度。 OUT = im.transpose >>>(Image.ROTATE_180) #の180度の回転角度。 OUT = im.transpose >>>(Image.ROTATE_270) #は、270度回転しました。
画像のシーケンス。
つまり、私たちはしばしばFLI / FLCに加えて、ダイナミックマップ、最も一般的な接尾辞.GIFを参照してください。このムービー形式のチャートのPILのライブラリもいくつかの基本的なサポートを提供します。私たちがイメージこの種類のファイルを開くと、PILは自動的に最初のフレームの画像をロードします。我々は、シークと言う方法が、フレーム間を移動するために使用することができます。
インポート画像 im.seekは、( 1) #は、第二枠にスキップ 試み: ながら、 1 : im.seek(im.tell() + 1 ) #は、イムする何かを 除き、例外EOFError: パスを