import cv2 import os cap = cv2.VideoCapture(0) if not cap.isOpened(): print("Cannot open camera") exit() good_dir = 'dataset/good' bad_dir = 'dataset/bad' os.makedirs(good_dir, exist_ok=True) os.makedirs(bad_dir, exist_ok=True) good_count = len(os.listdir(good_dir)) bad_count = len(os.listdir(bad_dir)) print("Press 'g' to save as good, 'b' to save as bad, 'q' to quit") while True: ret, frame = cap.read() if not ret: print("Can't receive frame") break cv2.imshow('Dataset Collection', frame) key = cv2.waitKey(1) & 0xFF if key == ord('g'): filename = f'{good_dir}/good_{good_count:04d}.jpg' cv2.imwrite(filename, frame) good_count += 1 print(f"Saved {filename}") elif key == ord('b'): filename = f'{bad_dir}/bad_{bad_count:04d}.jpg' cv2.imwrite(filename, frame) bad_count += 1 print(f"Saved {filename}") elif key == ord('q'): break cap.release() cv2.destroyAllWindows()