【Python】OpenCV を使って顔画像を検出してみた。
OpenCV のインストール
1 2 3 4 5 |
$ sudo add-apt-repository ppa:orangain/opencv $ sudo apt-get update $ sudo apt-get install -y python3-opencv opencv-data |
Numpy のインストール
1 |
$ sudo python3 -m pip install numpy |
以下のコマンドを実行して、エラーが出なければインストール成功です。
1 |
$ python -c 'import cv2' |
画像の中から顔部分を検出
Wikipedia から顔を含む画像をダウンロードします。
1 |
$ wget https://upload.wikimedia.org/wikipedia/commons/5/55/Grace_Hopper.jpg |
以下のスクリプトを作成して、実行します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import cv2 # 分類器オブジェクトを作成する # OpenCV に付属している classifier = cv2.CascadeClassifier('/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml') # 画像ファイルを読み込む image = cv2.imread('Grace_Hopper.jpg') # 顔を検出する faces = classifier.detectMultiScale(image) for x, y, w, h in faces: cv2.rectangle(image, (x,y), (x+w, y+h), color=(255,255,255), thickness=2) cv2.imwrite('faces.jpg', image) cv2.imshow('Faces', image) |
参考書籍
これらの内容は、以下の書籍を参照しました。
関連記事
-
-
【Pandas】 DataFrame のインデックスを置き換える方法【Python】
今回は、Pandas の DataFrame型で、インデックス(index)を分かりやすいものに置き
-
-
【Pandas】 DataFrame で2行の列ごとの差を計算する方法【Python】
今回は、Pandas の DataFrame で、2行間の列ごとの値の差を計算し、その結果を Dat
-
-
【OpenCV】画像の顔部分を検出する方法【Python】
OpenCV を使って、Python で画像から顔部分の検出を行ったときのメモです。 Anac
-
-
【Pandas】 DataFrame の行を抽出する方法【Python】
今回は、Python の Pandas で、DataFrame 型の行を抽出する方法を紹介します。
-
-
【Python】Windows で ライブラリ(NumPy) をインストールする方法。
Windows の Python(2.X系)で NumPy をインストールしようと思ったら、そもそも
-
-
【Linux】 ローカルに Python をインストールする方法。
今回は、Linux サーバに、root 権限なしで、ローカルに Python をインストールした方法
-
-
【OpenCV】検出した顔画像部分を切り出す方法【Python】
OpenCV を使って、Python で画像の中から顔部分を切り出したときのメモです。 顔部分
-
-
【Google Colaboratory】クラウド上でPythonを使って機械学習を行う。
Python をブラウザ上で実行して、手軽に機械学習ができる環境「Google Colaborato
-
-
【Anaconda】Prompt 上で Git コマンドを実行する方法。
Anaconda のコマンドプロンプト(Anaconda Prompt)上で、Git Hub からダ
-
-
【matplotlib】 Python で折れ線グラフを描く方法。
今回は、Python の matplotlib というライブラリを使って簡単に折れ線グラフを描く方法