Guest User

Untitled

a guest
Apr 8th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. import numpy as np
  2. import cv2
  3. import os, os.path
  4. #from skimage.transform import resize
  5.  
  6. face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
  7. eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')
  8. images_path = os.path.join(os.path.dirname(__file__), 'complete_images')
  9.  
  10. def filtering():
  11. try:
  12. if not os.path.exists('data'):
  13. os.makedirs('data')
  14. except OSError:
  15. print ('Error: Creating directory of data')
  16. image_size=160
  17. margin=10
  18.  
  19. currentframe = 0
  20. for folder in os.listdir(images_path):
  21. folder_path = os.path.join(os.path.dirname(__file__), 'complete_images/'+folder)
  22.  
  23. i=0
  24. for images in os.listdir(folder_path):
  25. img = cv2.imread(folder_path+'/'+images)
  26. print(folder_path)
  27. faces = face_cascade.detectMultiScale(img, 1.3, 5)
  28. try:
  29. (x, y, w, h) = faces[0]
  30. cropped=img[y:y+h, x:x+w]
  31. aligned = cv2.resize(cropped, (image_size, image_size))
  32. name = './data/speaker/frame'+str(currentframe)+'.jpg'
  33. except:
  34. try:
  35. eyes = eye_cascade.detectMultiScale(img, 1.3, 5)
  36.  
  37. if eyes.shape[0]==2:
  38. x= max(eyes[1][0],eyes[0][0])
  39. y= max(eyes[1][1],eyes[0][1])
  40. w= max(eyes[1][2],eyes[0][2])
  41. h= max(eyes[1][3],eyes[0][3])
  42. cropped=img[y-h:y+5*h, x-3*w:x+2*w]
  43. aligned = cv2.resize(cropped, (image_size, image_size))
  44. name = './data/speaker/frame'+str(currentframe)+'.jpg'
  45.  
  46. else:
  47. name = './data/nospeaker/frame'+str(currentframe)+'.jpg'
  48. aligned=img
  49. except:
  50. name = './data/nospeaker/frame'+str(currentframe)+'.jpg'
  51. aligned=img
  52.  
  53. cv2.imwrite(name,aligned)
  54. currentframe += 1
  55. #if i==100:
  56. #break
  57. i+=1
  58. cv2.destroyAllWindows()
  59.  
  60. if __name__ == '__main__':
  61. filtering()
Add Comment
Please, Sign In to add comment