記事

AnimeFaceで二次元画像から顔抽出

用意するもの

コード

適当に

wget https://raw.githubusercontent.com/nagadomi/lbpcascade_animeface/master/lbpcascade_animeface.xml

などでプログラムと同位置に配置

import cv2
import commands

cascade = cv2.CascadeClassifier("lbpcascade_animeface.xml")
image = cv2.imread("haruhi.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gray = cv2.equalizeHist(gray)
faces = cascade.detectMultiScale(gray, scaleFactor = 1.1, minNeighbors = 5, flags=0, minSize = (24, 24))
for (x, y, w, h) in faces:
    cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 2)

cv2.imwrite("tmp.png", image)
print commands.getoutput("img2sixel tmp.png")

結果

f:id:thr3a:20150820001243j:plain

オプション

detectMultiScaleのパラメータをいじることで変化できる

公式ドキュメント見よう、な?(投げやり