ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して画像のエッジを検出する方法
Python を使用して画像のエッジ検出を実行する方法
はじめに: エッジ検出は画像処理で一般的に使用されるテクノロジであり、画像のエッジを検出するために使用できます。画像内のオブジェクトと輪郭。この記事では、Python で OpenCV ライブラリを使用してエッジ検出を行う方法をコード例とともに紹介します。
1. 必要なライブラリをインストールする
Python をエッジ検出に使用するには、まず対応するライブラリをインストールする必要があります。この記事では、Python で使用すると非常に便利な強力な画像処理ライブラリである OpenCV ライブラリを使用します。
次のコマンドを使用して、OpenCV ライブラリをインストールできます。
pip install opencv-python
2. 必要なライブラリをインポートします
コードを記述する前に、必要なライブラリをインポートする必要があります。画像データを処理するには、OpenCV ライブラリに加えて、NumPy ライブラリもインポートする必要があります。
以下はライブラリをインポートするためのコードです:
import cv2 import numpy as np
3. 画像の読み取り
エッジ検出を実行する前に、まず処理する画像を読み取る必要があります。画像は、OpenCV ライブラリの imread
関数を使用して読み取ることができます。この関数は、画像ファイルへのパスをパラメータとして受け取り、画像を表す NumPy 配列を返します。
次は画像を読み取るためのコードです:
image = cv2.imread('image.png')
4. グレースケール処理
エッジ検出の前に、通常はカラー画像をグレースケール画像に変換する必要があります。これは、エッジ検出アルゴリズムが通常、グレースケール画像に基づいているためです。
OpenCV ライブラリの cvtColor
関数を使用して、画像をカラーからグレースケールに変換できます。この関数は、変換する画像と変換モードの 2 つのパラメータを受け入れます。この例では、cv2.COLOR_BGR2GRAY
を使用して、BGR カラー スペースからグレースケール カラー スペースへの移行を表します。
以下はグレースケール処理のコードです:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
5. エッジ検出
エッジ検出を実行する前に、適切なエッジ検出アルゴリズムを選択する必要があります。この記事では、広く一般的に使用されているエッジ検出方法である Canny エッジ検出アルゴリズムを使用します。
OpenCV ライブラリの Canny
関数をエッジ検出に使用できます。この関数は、グレースケール画像、低しきい値、および高しきい値の 3 つのパラメータを受け入れます。高しきい値を超えるエッジ強度を持つピクセルは強い境界とみなされ、低しきい値を下回るエッジ強度を持つピクセルは弱い境界とみなされます。
次はエッジ検出のコードです:
edges = cv2.Canny(gray_image, 100, 200)
6. 結果の表示
最後に、OpenCV ライブラリの imshow
関数を使用して、エッジ検出結果。この関数は、ウィンドウ名と表示するイメージの 2 つのパラメータを受け入れます。
結果を表示するコードは次のとおりです:
cv2.imshow('Edges', edges) cv2.waitKey(0) cv2.destroyAllWindows()
完全なコード例:
import cv2 import numpy as np # 读取图像 image = cv2.imread('image.png') # 灰度化处理 gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 边线检测 edges = cv2.Canny(gray_image, 100, 200) # 显示结果 cv2.imshow('Edges', edges) cv2.waitKey(0) cv2.destroyAllWindows()
概要:
この記事の導入を通じて、次のことを学びました。エッジ検出に Python ライブラリの OpenCV を使用します。まず、必要なライブラリをインストールし、対応するライブラリをインポートする必要があります。次に、画像を読み取り、グレースケールに変換する必要があります。次に、適切なエッジ検出アルゴリズムを選択し、エッジ検出を実行します。最後に、エッジ検出結果を表示できます。上記の手順の各部分には、対応するコード例があり、読者の学習と応用に役立つことを願っています。
以上がPython を使用して画像のエッジを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。