Showing
1 changed file
with
33 additions
and
0 deletions
saucecode/eyecrop.py
0 → 100644
1 | +import cv2 | ||
2 | +import dlib | ||
3 | +import numpy as np | ||
4 | + | ||
5 | +IMG_SIZE = (34, 26) | ||
6 | + | ||
7 | +def crop_eye(img, eye_points): | ||
8 | + x1, y1 = np.amin(eye_points, axis=0) | ||
9 | + x2, y2 = np.amax(eye_points, axis=0) | ||
10 | + cx, cy = (x1 + x2) / 2, (y1 + y2) / 2 | ||
11 | + | ||
12 | + w = (x2 - x1) * 1.2 | ||
13 | + h = w * IMG_SIZE[1] / IMG_SIZE[0] | ||
14 | + | ||
15 | + margin_x, margin_y = w / 2, h / 2 | ||
16 | + | ||
17 | + min_x, min_y = int(cx - margin_x), int(cy - margin_y) | ||
18 | + max_x, max_y = int(cx + margin_x), int(cy + margin_y) | ||
19 | + | ||
20 | + eye_rect = np.rint([min_x, min_y, max_x, max_y]).astype(np.int) | ||
21 | + | ||
22 | + gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) | ||
23 | + | ||
24 | + | ||
25 | + | ||
26 | + | ||
27 | + eye_img = gray[eye_rect[1]:eye_rect[3], eye_rect[0]:eye_rect[2]] | ||
28 | + | ||
29 | + | ||
30 | + | ||
31 | + | ||
32 | + return eye_img, eye_rect | ||
33 | + |
-
Please register or login to post a comment