def cellTLs2ctrs(cellTLs, eye_shape): ctrs = [] for cellTL in cellTLs: ctrs.append(bf.tl2center(bf.cell2px(cellTL), eye_shape)) return ctrs
# bf.imshow(lighter) # test eye detection # eye_shape = (25, 50) # eye1_tl = (200, 480) # eye2_tl = (195, 655) # eye1_ctr = bf.tl2center(eye1_tl, eye_shape) # eye2_ctr = bf.tl2center(eye2_tl, eye_shape) # svm, scaler = createSVM(training=img, eye_centers=[eye1_ctr, eye2_ctr], eye_shape=eye_shape) # eyes = searchForEyesSVM(img=img, svm=svm, scaler=scaler, eye_shape=eye_shape, locs=[(190, 470), (190, 650)]) # print eyes # test video eye detection eye1_tl = (344, 409) eye2_tl = (348, 515) eye_shape = (24, 48) eye1_ctr = bf.tl2center(eye1_tl, eye_shape) eye2_ctr = bf.tl2center(eye2_tl, eye_shape) eyes = [eye1_ctr, eye2_ctr] if os.path.isfile("svm.pkl"): svm_file = open("svm.pkl", "rb") (svm, scaler) = pickle.load(svm_file) svm_file.close() else: svm, scaler = createSVM(training=img, eye_centers=eyes, eye_shape=eye_shape) svm_file = open("svm.pkl", "wb") pickle.dump((svm, scaler), svm_file) svm_file.close() trackEyes(svm=svm, scaler=scaler)