【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) |
参考書籍
これらの内容は、以下の書籍を参照しました。
関連記事
-
-
【Python】漢字を分解するライブラリを使ってみた【部首分解】
Python で漢字を部首やさらに細かい部分に分解してくれるライブラリがあったので使ってみました。
-
-
【Pandas】 DataFrame の行を抽出する方法【Python】
今回は、Python の Pandas で、DataFrame 型の行を抽出する方法を紹介します。
-
-
【Python】Beautiful Soup を使ってスクレイピングする方法。
Beautiful Soup は、シンプルでわかりやすい API でデータを抜き出せる Python
-
-
【Pandas】 DataFrame のある列の最大値を含む行のインデックス値を取得する方法。
今回は、Pandas の DataFrame において、ある列で最大値を求めて、その最大値をもつ行に
-
-
【Google Colaboratory】クラウド上でPythonを使って機械学習を行う。
Python をブラウザ上で実行して、手軽に機械学習ができる環境「Google Colaborato
-
-
【Python】機械学習のために SciPy・Matplotlib・scikit-learn をインストール。
Python で機械学習を行うために、Windows OS の python 2 系にライブラリ「S
-
-
【Atomエディタ】Python 開発用にインストールしてみた。
Python でプログラミングするときの エディタ を探していたのですが、とりあえず Atom とい
-
-
【Linux】 ローカルに Python をインストールする方法。
今回は、Linux サーバに、root 権限なしで、ローカルに Python をインストールした方法
-
-
【Python】API を使って YouTube から動画情報を収集する方法。
API を使って YouTube から動画情報を収集してみたときのメモです。 OS は Lin
-
-
【Pandas】 DataFrame のインデックスを置き換える方法【Python】
今回は、Pandas の DataFrame型で、インデックス(index)を分かりやすいものに置き



















