Pythonは、機械学習や画像処理など、多岐にわたる分野で使用されています。今回は、Pythonを用いて、キリンの画像から斑点を自動検出する方法について説明します。
必要なライブラリのインストール
まずは、必要なライブラリをインストールします。以下のコマンドを実行して、OpenCVをインストールします。
pip install opencv-python
また、Pythonの画像処理に欠かせないNumPyライブラリもインストールします。
pip install numpy
画像の読み込みと前処理
次に、対象となるキリンの画像を読み込みます。以下のコードを実行すると、画像を読み込んで、グレースケールに変換し、ノイズを除去します。
import cv2
import numpy as np
img = cv2.imread('giraffe.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = cv2.GaussianBlur(gray, (5, 5), 0)
斑点の検出
ここからが本番です。以下のコードを実行すると、キリンの斑点を自動検出します。
edges = cv2.Canny(gray, 100, 200)
contours, hierarchy = cv2.findContours(edges, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
for c in contours:
area = cv2.contourArea(c)
if area > 100:
cv2.drawContours(img, [c], -1, (0, 255, 0), 2)
このコードでは、Cannyアルゴリズムを用いて輪郭を検出し、検出された輪郭のうち、面積が100以上のものを斑点として描画しています。
結果の表示
最後に、検出結果を表示します。以下のコードを実行すると、元画像に斑点が描かれた画像が表示されます。
cv2.imshow('Result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
以上で、Pythonを用いたキリンの斑点の自動検出が完了しました。