ホームページ >バックエンド開発 >Python チュートリアル >Pythonを使って画像を二値化する方法
Python を使用して画像を 2 値化する方法
要約:
デジタル画像処理では、2 値化はカラーまたはグレースケール画像を変換する非常に一般的な処理方法です。 2 つの値 (通常は白と黒) のみを持つ画像に変換します。画像を 2 値化すると、画像の輪郭と特徴が強調表示され、その後の画像分析操作が容易になります。この記事では、Python を使用して画像を 2 値化する方法を紹介し、読者の理解を助けるコード例を示します。
1. 必要なライブラリを導入する
始める前に、いくつかの必要なライブラリを導入する必要があります。 Python には、PIL (Python Imaging Library) や OpenCV など、選択できる画像処理ライブラリが多数あります。この記事では画像のバイナリ処理に PIL ライブラリを使用するため、最初に PIL ライブラリをインストールして導入する必要があります。
コード例:
from PIL import Image
2. 元の画像を読み取って表示する
バイナリ処理の前に、処理された画像を処理できるように、まず元の画像を読み取って表示する必要があります。結果がより直感的に理解できるようになります。
コード例:
# 读取原始图片 image = Image.open('original_image.jpg') # 显示原始图片 image.show()
3. 画像の二値化処理
次に画像を二値化します。 PIL ライブラリでは、画像オブジェクトはピクセル値で構成される行列であり、各ピクセルの値はその点に対応する色情報を表します。画像を二値画像に変換するには、ある閾値に従って画素値を区別する必要があり、閾値より大きい画素は白、閾値より小さい画素は黒となります。
コード例:
# 设置二值化阈值 threshold = 128 # 获取图片的宽度和高度 width, height = image.size # 创建一个新的图片对象,用来存储二值化处理后的结果 binary_image = Image.new('1', (width, height)) # 遍历原始图片的每个像素点 for y in range(height): for x in range(width): # 获取当前像素点的像素值 pixel = image.getpixel((x, y)) # 判断像素值是否大于阈值,如果大于则设置为白色,否则设置为黑色 if pixel >= threshold: binary_image.putpixel((x, y), 255) else: binary_image.putpixel((x, y), 0) # 显示二值化处理后的结果 binary_image.show()
4. 2値化画像の保存と表示
最後に、処理した2値化画像をローカルに保存して表示します。
コード例:
# 保存二值化图片到本地 binary_image.save('binary_image.jpg') # 显示二值化图片 binary_image.show()
概要:
この記事では、Python を使用して画像を 2 値化する方法を紹介します。元のイメージを読み取り、二値化しきい値を設定し、各ピクセルを調べ、ピクセル値のサイズに応じてピクセルの色を設定することにより、カラーまたはグレースケール イメージをバイナリ イメージに変換する効果を得ることができます。このバイナリ処理方法は、輪郭検出、画像セグメンテーション、文字認識などの多くの画像処理アプリケーション シナリオで使用できます。この記事のサンプルコードが、読者の皆様の画像二値化処理方法の理解を深め、習得する一助となれば幸いです。
以上がPythonを使って画像を二値化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。