Created
February 25, 2015 01:18
-
-
Save sanryuu/2b585a5f38560e2a8db1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
sys.path.append('/usr/local/lib/python2.7/site-packages') | |
import cv2 | |
import os | |
argv = sys.argv | |
#HAAR分類器の顔検出用の特徴量 | |
#cascade_path = "/usr/local/Cellar/opencv/2.4.9/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml" | |
cascade_path = "/usr/local/Cellar/opencv/2.4.9/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" | |
#cascade_path = "/usr/local/Cellar/opencv/2.4.9/share/OpenCV/haarcascades/haarcascade_frontalface_alt2.xml" | |
#cascade_path = "/usr/local/opt/opencv/share/OpenCV/haarcascades/haarcascade_frontalface_alt_tree.xml" | |
# 指定したパス内の全てのファイルとディレクトリを要素とするリストを返す | |
read_directory = argv[1] | |
success_directory = argv[2] | |
fail_directory = argv[3] | |
files = os.listdir(directory) | |
for file in files: | |
try: | |
color = (255, 255, 255) #白 | |
#color = (0, 0, 0) #黒 | |
#ファイル読み込み | |
image = cv2.imread(directory + '/' + file) | |
#グレースケール変換 | |
image_gray = cv2.cvtColor(image, cv2.cv.CV_BGR2GRAY) | |
#カスケード分類器の特徴量を取得する | |
cascade = cv2.CascadeClassifier(cascade_path) | |
#物体認識(顔認識)の実行 | |
facerect = cascade.detectMultiScale(image_gray, scaleFactor=1.1, minNeighbors=1, minSize=(1, 1)) | |
#facerect = cascade.detectMultiScale(image_gray, scaleFactor=1.1, minNeighbors=3, minSize=(10, 10), flags = cv2.cv.CV_HAAR_SCALE_IMAGE) | |
print facerect | |
if len(facerect) > 0: | |
#検出した顔を囲む矩形の作成 | |
for rect in facerect: | |
cv2.rectangle(image, tuple(rect[0:2]),tuple(rect[0:2]+rect[2:4]), color, thickness=2) | |
#認識結果の保存 | |
if len(facerect) == 1: | |
cv2.imwrite(success_directory + file, image) | |
if len(facerect) == 1: | |
cv2.imwrite(fail_directory + :file, image) | |
except: | |
print 'エラー発生' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment