Spaces:
Sleeping
Sleeping
| import pickle | |
| import mediapipe as mp | |
| import cv2 | |
| import matplotlib.pyplot as plt | |
| import os | |
| mpHands = mp.solutions.hands | |
| mpDrawing = mp.solutions.drawing_utils | |
| mpDrawingStyles = mp.solutions.drawing_styles | |
| # def brighten_image(img, factor=1.5): | |
| # return cv2.convertScaleAbs(img, alpha=factor, beta=20) | |
| hands = mpHands.Hands(static_image_mode=True, min_detection_confidence=0.3) | |
| DATADIR = '../letters/asl_alphabet_test' | |
| data = [] | |
| labels = [] | |
| for imgName in os.listdir(DATADIR): | |
| dataAux = [] | |
| x_ = [] | |
| y_ = [] | |
| imgPath = os.path.join(DATADIR,imgName) | |
| print("Reading:", imgPath) | |
| img = cv2.imread(imgPath) | |
| if img is None: | |
| print("Failed to load:", imgPath) | |
| continue | |
| img = cv2.imread(imgPath) | |
| imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) | |
| results = hands.process(imgRGB) | |
| if results.multi_hand_landmarks: | |
| for handLandmarks in results.multi_hand_landmarks: | |
| mpDrawing.draw_landmarks( | |
| img, | |
| handLandmarks, | |
| mpHands.HAND_CONNECTIONS, | |
| mpDrawingStyles.get_default_hand_landmarks_style(), | |
| mpDrawingStyles.get_default_hand_connections_style() | |
| ) | |
| for i in range(len(handLandmarks.landmark)): | |
| x = handLandmarks.landmark[i].x | |
| y = handLandmarks.landmark[i].y | |
| x_.append(x) | |
| y_.append(y) | |
| for i in range(len(handLandmarks.landmark)): | |
| x = handLandmarks.landmark[i].x | |
| y = handLandmarks.landmark[i].y | |
| dataAux.append(x - min(x_)) | |
| dataAux.append(y - min(y_)) | |
| ind = imgName.find("test") | |
| data.append(dataAux) | |
| labels.append(imgName[0:ind-1].upper()) | |
| # cv2.imshow("Hand Landmarks", img) | |
| # cv2.waitKey(0) | |
| # cv2.destroyAllWindows() | |
| print(labels) | |
| file = open('../processed_data/testData.pickle', 'wb') | |
| pickle.dump({'data': data, 'labels': labels}, file) | |
| file.close() | |