Pythonイメージングライブラリで画像を操作します
Python画像処理ライブラリPIL/枕入りガイド
コアポイント
- Python Image Processing Library(PIL)は、Pythonインタープリターに画像処理機能を追加し、さまざまな画像ファイル形式をサポートし、Pixelベースの操作、フィルター、画像強化などの標準的な画像処理プログラムを提供する無料のツールです。
- PIL(1.1.7)の最後のバージョンは2009年にリリースされ、Python 1.5.2-2.7のみをサポートしていますが、Pillowという名前のプロジェクトにはPILコードベースがあり、Python 3.Xのコードベースサポートが追加されています。ほとんどのPythonユーザーにとって実行可能なオプション。 PILまたは枕を使用すると、画像の読み取り、画像のグレースケールやその他のタイプに変換する、画像のサイズ変更、画像の保存などのタスクを簡単に実行できます。図書館の包括的なドキュメントには、詳細とチュートリアルが提供されています。
理由の1つは、この言語が多くの時間節約ライブラリを提供していることです。良い例は、この記事で強調されるPython画像処理ライブラリ(PIL)です。
何ができるか
PILは、Pythonインタープリターに画像処理機能を追加し、PPM、PNG、JPEG、GIF、TIFF、BMPなどの複数の画像ファイル形式をサポートする無料のライブラリです。PILは、次のような多くの標準画像処理/操作プログラムを提供します。
ピクセルベースの操作
- マスクと透明性治療
- フィルター(例:ぼかし、輪郭、スムージング、エッジ検出)
- 画像の強化(たとえば、シャープニング、輝度の調整、コントラスト)
- ジオメトリ、色、その他の変換
- 画像にテキストを追加します
- カット、貼り付け、マージ
- サムネイルを作成します
PILの問題の1つは、最新バージョン1.1.7が2009年にリリースされ、Python 1.5.2-2.7のみをサポートしていることです。 PILのウェブサイトはPython 3.xの今後のバージョンを約束しますが、その最後のコミットは2011年であり、開発は停止したようです。
幸いなことに、Python 3.xユーザーのすべてが終わったわけではありません。枕と呼ばれるプロジェクトには、PILコードベースが分岐し、Python 3.xのサポートが追加されました。ほとんどの読者がPython 3.xを使用している可能性があることを考えると、この記事は枕の更新に焦点を当てます。
枕のインストール枕はPython 2.4からPythonの最新バージョンまでPythonをサポートしているため、PILの古いバージョンではなく、枕の設置にのみ焦点を当てます。
MacでPython 私は現在、Mac OS X Yosemite 10.10.5でこのチュートリアルを書いているので、Mac OS Xマシンに枕をインストールする方法について説明します。しかし、心配しないでください。このセクションの最後に、他のオペレーティングシステムに枕を設置する方法について説明するリンクを提供します。 ここでは、Mac OS XにPythonがプリインストールされていることをここで指摘したいと思います。ただし、このバージョンは3.xより早くなる可能性があります。 たとえば、マシンでは、
端末コマンドを実行すると、python 2.7.10が取得されます。
pythonとpip $ python --version
枕を取り付ける非常に簡単な方法は、PIPを使用することです。
マシンにPIPをインストールしていない場合は、端末に次のコマンドを入力してください。
$ sudo easy_install pip
簡単ですね。
$ sudo pip install pillow
いくつかの例
このセクションでは、PILでできる簡単な操作を実証します。 これらのテストを次の画像で実行します:
これらの例に従う場合は、この画像をダウンロードしてください。
これは、画像処理タスクで最も基本的な操作です。これは、画像を処理するには、最初に読み取る必要があるためです。 PILを使用すると、以下に示すように、これは簡単に行うことができます:
ここのIMGは、PIL画像モジュールの一部であるOpen()関数によって作成されたPIL画像オブジェクトであることに注意してください。オープンファイル、文字列、またはタールアーカイブを読み取ることもできます。
from PIL import Image img = Image.open('brick-house.png')
ファイルbrick-house.pngはカラー画像です。グレースケールに変換するには、表示してから新しいグレイスケール画像を保存するには、次のことを実行できます。 これを行うには、3つの主要な関数を使用して、convert()、show()、およびsave()に注意してください。グレースケール画像に変換するため、パラメーター「L」はconvert()で使用されます。
以下は、生成された画像です:
from PIL import Image img = Image.open('brick-house.png').convert('L') img.show() img.save('brick-house-gs','png')
画像のサイズを変更します
元の画像のサイズ(サイズ)は440 x 600ピクセルです。サイズを変更して256 x 256ピクセルまでサイズにしたい場合は、以下を実行できます。
from PIL import Image img = Image.open('brick-house.png') img.save('brick-image','jpeg')
これにより、新しい正方形の画像が生成されます:
ご覧のとおり、これは画像をトリミングするのではなく、目的のサイズに圧縮します。もちろん、適切なアスペクト比を維持しながら画像をトリミングすることもできます。
from PIL import Image img = Image.open('brick-house.png') new_img = img.resize((256,256)) new_img.save('brick-house-256x256','png')
このクイックスタートは、PILの表面を導入し、PILライブラリを介してPythonの複雑な画像処理タスクを簡単に達成する方法を示すためにのみ設計されています。
この紹介により、Pythonを使用して画像処理を試みるように促すことを願っています。楽しむ!
Python画像処理ライブラリ(PIL)FAQ(FAQ)< 私のシステムにPython Image Processing Library(PIL)をインストールする方法は?
Python Image Processing Library(PIL)をインストールするには、PythonのパッケージマネージャーであるPIPを使用する必要があります。端末またはコマンドプロンプトを開き、次のコマンドを入力します。 「枕」ライブラリはPILの枝であり、積極的に維持されているため、PILの代わりに「枕」を使用することをお勧めします。 Pythonの複数のバージョンがインストールされている場合は、Python 3にを使用する必要があります。
PILを使用して画像を開いて表示する方法は? pip install pillow
pip3 install pillow
PILを使用して画像を開いて表示するには、
関数を使用して画像を表示する必要があります。例は次のとおりです。
このコードでは、 'image.jpg'は画像ファイルの名前です。画像ファイルがPythonスクリプトと同じディレクトリにあることを確認するか、画像ファイルへの完全なパスを提供してください。 Image.open()
Image.show()
PILを使用して画像をサイズ変更する方法は?
$ sudo easy_install pip
関数を使用できます。この関数は、ピクセルの新しいサイズを指定するタプルを受け入れます。例は次のとおりです。
このコードでは、画像サイズは800×800ピクセルにサイズを変更します。
(後続のFAQへの答えは似ており、省略されており、記事の一般的なアイデアを変更しておきます)Image.resize()
以上がPythonイメージングライブラリで画像を操作しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











このGOベースのネットワーク脆弱性スキャナーは、潜在的なセキュリティの弱点を効率的に識別します。 Goの同時機能機能を速度で活用し、サービスの検出と脆弱性のマッチングが含まれます。その能力と倫理を探りましょう

このパイロットプログラム、CNCF(クラウドネイティブコンピューティングファンデーション)、アンペアコンピューティング、Equinix Metal、およびActuatedのコラボレーションであるCNCF GithubプロジェクトのARM64 CI/CDが合理化されます。 このイニシアチブは、セキュリティの懸念とパフォーマンスリムに対処します

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。 th

これらのトップ開発者ニュースレターを使用して、最新のハイテクトレンドについてお知らせください! このキュレーションされたリストは、AI愛好家からベテランのバックエンドやフロントエンド開発者まで、すべての人に何かを提供します。 お気に入りを選択し、Relを検索する時間を節約してください
