この記事では、python に関する関連知識を提供します。主に PIL ライブラリの関連問題を整理しています。PIL ライブラリは、強力な画像処理機能を備えたサードパーティ ライブラリです。リッチ ピクセルとカラー演算機能は画像のアーカイブやバッチ処理にも使えますので、ぜひ見ていきましょう。
推奨学習: python
PIL ライブラリの使用
キー ポイント: PIL ライブラリは、強力な画像処理機能を備えたサードパーティ ライブラリで、豊富なピクセルおよびカラー操作機能が含まれているだけでなく、画像のアーカイブやバッチ処理にも使用できます。
1. PIL ライブラリの概要
PIL (Python Image Library) ライブラリは、Python 言語のサードパーティ ライブラリであり、pip を通じてインストールする必要があります。道具。 PILライブラリのインストール方法は以下の通りですが、インストールライブラリの名前はpillowです。
:\>pip install pillow #或者 pip3 install pillow
PIL ライブラリは、画像の保存、表示、処理をサポートしています。ほぼすべての画像形式を処理でき、拡大縮小、トリミング、オーバーレイ、画像への線、画像、テキストの追加などの操作を実行できます。
PIL ライブラリは主に画像アーカイブと画像処理の運動エネルギーのニーズを満たすことができます
(1) 画像アーカイブ: 画像のバッチ処理、画像プレビューの生成、画像フォーマット変換など。
(2) 画像処理:基本的な画像処理、ピクセル処理、色処理など。
PIL ライブラリには、機能に応じて合計 21 個の画像関連クラスが含まれており、これらのクラスはサブライブラリ
または PIL ライブラリ内のモジュールとみなすことができます。
Image、ImageChops、ImageColor、ImageCrackCode、ImageDraw.ImageEnhance、ImageFile、ImageFilelO、ImageFilter、ImageFont、ImageGL、ImageGrab、Imagemath、ImageOps、ImagePalette、ImagePath.ImageQt、ImageSequence、ImageStat ImageTk、ImageWin
PIL に焦点を当てるlibrary 最も一般的に使用されるサブライブラリ: Image、ImageFilter、ImageEnhance。
2. PIL ライブラリ Image クラスの解析
Image は PIL の最も重要なクラスで、画像を表します このクラスの導入方法は次のとおりです。 ##
>>>from PIL import ImagePIL では、任意の画像ファイルを Image オブジェクトで表すことができます。 Image クラスの画像の読み込みと作成メソッドは以下のとおりです (計 5 つ):
Description | |
---|---|
パラメータに従って画像ファイルをロード | |
指定されたパラメータに基づいて新しい画像を作成します | ##Image.open(StringlO.StringlO(buffer)) |
Image.frombytes(mode, size, data) | |
Image.verify() | |
>>>from PIL import Image>>>im = Image.open ("a.jpg")
IDLE インタラクティブ モードを使用して画像ファイルを処理する場合は、ファイルのフル パスを使用することをお勧めします。Python ファイル形式を使用する場合は、相対パスを使用し、ファイルとプログラムをディレクトリ。
Image クラスには、表に示すように、画像を処理するための 4 つの共通属性があります (合計 4 つ)
## になります。 | #Image.mode |
Image.size | |
Image.palette | |
次のように、読み取った画像ファイルのプロパティを表示します: |
Image.tell() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
【实例1】GIF文件图像提取 from PIL import Image#读入一个GIF文件im = Image.open("pybit.gif")try: im.save('picframe{:02d).png'.format(im.tell())) while True: im.seek(im.tel1 ()+1) im.save('picframe{:02d).png'.format(im.tell()))except:print("处理结束") 实例1展示了一种采用try-except编写程序的方法,通过seek()方法和save()方法配合提取GIF图像格式的每一帧,并保存为文件。
其中,save()方法有两个参数:文件名filename和图像格式format。如果调用时不指定保存格式,如微实例1,PIL将自动根据文件名filename后缀存储图像;如果指定格式,则按照格式存储。搭配采用open()和save()方法可以实现图像的格式转换,例如,将 jpg格式转换为png格式」代码如下。需要注意,Image 类的 save()方法主要用于保存文件到硬盘,PIL库还提供了功能更强大的格式转换方法。 im = Image.open("a.jpg")im.save("a.png") Image类可以缩放和旋转图像,其中,rotate(方法以逆时旋转的角度值作为参数来旋转图像。
Image类能够对每个像素点或者一幅RGB图像的每个通道单独进行操作。split()方法能够将RGB 图像各颜色通道提取出来;
【实例2】图像的颜色交换 from PIL import Imageim = Image.open('a.jpg')r, g, b = im.split()om = Image.merge("RGB" , (b, g, r))om.save('aBGR.jpg') 运行结果: 操作图像的每个像素点需要通过函数实现,可以采用(lambda)函数和point()方法,例子如下,显示效果如图7所示。 >>>im=Image.apen('a.jpg')#打开文件>>>>r,g,b=im.splitO#获得RGB通道数据>>>>newg=g.point(lambda i:i*0.9)#将G通道颜色值变为原来的0.9>>>>newb=b.point(lambda i:i>>>om=Image.merge(im.mode,(r,newg,newb)#将3个通道合成为新图>>>>om.save('new_a.jpg')#输出图片 3.图像的过滤和增强PIL库的ImageFilter类和ImageEnhance类提供了过滤图像和增强图像的方法。
利用Image类的filter()方法可以使用ImageFilter类,使用方式如下: Image.filter(ImageFilter.fuction) 【实例3】图像的轮廓获取。 from PIL import Imagefrom PIL import ImageFilterim = Image.open('a.jpg')om = im.filter(ImageFilter.CONTOUR)om.save('aContour.jpg') 运行结果:
【实例4】图像的对比度增强。 from PIL import Imagefrom PIL import ImageEnhanceim = Image.open('a.jpg')om = ImageEnhance.Contrast(im)om.enhance(20).save(aEnContrast.jpg') 运行结果: 推荐学习:python |
以上がPython画像処理PILライブラリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
