【Python】OpenCV を使って顔画像を検出してみた。
Contents
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) |
参考書籍
これらの内容は、以下の書籍を参照しました。
関連記事
-
-
【Spyder】引数のあるスクリプトを実行する方法。
Python の統合開発環境(IDE)である Spyder では、簡単にスクリプトを実行できます。
-
-
【OpenCV】検出した顔画像部分を切り出す方法【Python】
OpenCV を使って、Python で画像の中から顔部分を切り出したときのメモです。 顔部分
-
-
【matplotlib】 Python で折れ線グラフを描く方法。
今回は、Python の matplotlib というライブラリを使って簡単に折れ線グラフを描く方法
-
-
【Python】 複数の辞書型の同じ key を持つ value を計算に用いる方法。
Python で、複数の辞書型を読み込んで、同じキー(key)を持つ数値(value)を計算に使う方
-
-
【Python】Requests ライブラリを使って Web ページを取得してみた。
python の標準ライブラリ urllib を使っても Web ページの取得はできるのですが、Re
-
-
【Pandas】 DetaFrame の列ごとに演算する方法【Python】
今回は、DetaFrame の列ごとに平均や加算・減算なのど演算をし、結果を DetaFrame 型
-
-
【Python】時系列データ(為替データ)をグラフ表示してみた。
今回は、pandas・matplotlib ライブラリを使って、時系列データ(為替データ)をグラフ表
-
-
【Python】Windows で ライブラリ(NumPy) をインストールする方法。
Windows の Python(2.X系)で NumPy をインストールしようと思ったら、そもそも
-
-
【Pandas】 loc・ilocで1行のみ Series ではなく DataFrame で抽出する方法。
Python の Pandas で DataFrame から loc や iloc を使って行を抽出
-
-
【Pandas】 DataFrame の行を抽出する方法【Python】
今回は、Python の Pandas で、DataFrame 型の行を抽出する方法を紹介します。