2017-01-13 10 views
-2

opencvで検出された顔や目を別のpng/jpgファイルに保存しようとしていますが、これを行うには何ができますか? 。コードは次のとおりです(GUIは有効になっていません)。png/jpgファイルで検出された顔を保存する

import numpy as np 
import cv2 
from matplotlib import pyplot as plt 

face_cascade = cv2.CascadeClassifier('/Users/i855838/opencv/data/haarcascades/haarcascade_frontalface_default.xml') 
eye_cascade = cv2.CascadeClassifier('/Users/i855838/opencv/data/haarcascades/haarcascade_eye.xml') 

img = cv2.imread('/Users/i855838/Desktop/xfiles4.jpg') 
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 
faces = face_cascade.detectMultiScale(gray, 1.3, 5) 
for (x,y,w,h) in faces: 
    cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2) 
    roi_gray = gray[y:y+h, x:x+w] 
    roi_color = img[y:y+h, x:x+w] 
    eyes = eye_cascade.detectMultiScale(roi_gray) 
    for (ex,ey,ew,eh) in eyes: 
     cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2) 
cv2.imshow('img',img) 
cv2.waitKey(0) 
cv2.destroyAllWindows() 
+0

参照:http://stackoverflow.com/a/38045473/1874627 – saurabheights

答えて

0

cv2.imwriteを単に使用してください。たとえば、 'face_color.png'というファイルに保存するには、cv2.imwrite('face_color.png', roi_color)を実行します。

関連する問題