From 3322ad8e4c66d565834466d2f2000c4b437b41db Mon Sep 17 00:00:00 2001 From: Andrey Pohilko Date: Wed, 1 Aug 2018 13:55:59 +0300 Subject: [PATCH] Record video --- .gitignore | 3 ++- examples/tracker/__init__.py | 17 +++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 4775f0f..427d53a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .idea *.iml *.pyc -build \ No newline at end of file +build +*.avi diff --git a/examples/tracker/__init__.py b/examples/tracker/__init__.py index 32b23a3..5f90607 100644 --- a/examples/tracker/__init__.py +++ b/examples/tracker/__init__.py @@ -1,7 +1,6 @@ import json import logging import os -import time import traceback from threading import Thread @@ -28,14 +27,22 @@ class FaceTracker(MoveHub): # cap.set(cv2.CAP_PROP_XI_AUTO_WB, 1) # cap.set(cv2.CAP_PROP_XI_AEAG, 1) + size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))) + + fourcc = cv2.VideoWriter_fourcc(*'XVID') + fps = cap.get(cv2.CAP_PROP_FPS) + video = cv2.VideoWriter('output.avi', fourcc, fps, size) + try: while True: flag, img = cap.read() self.cur_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) logging.debug("Got frame") + video.write(self.cur_img) finally: logging.info("Releasing cam...") cap.release() + video.release() face_cascade = cv2.CascadeClassifier('/usr/share/opencv/haarcascades/' + 'haarcascade_frontalface_default.xml') @@ -89,7 +96,7 @@ class FaceTracker(MoveHub): vert = 0 self.motor_external.constant(horz) - self.motor_AB.constant(-vert) + self.motor_A.constant(-vert) def main(self): thr = Thread(target=self.capture) @@ -106,8 +113,8 @@ class FaceTracker(MoveHub): cur_face = (0, 0, 0, 0) while thr.isAlive(): - bodies, weights = self._find_color() - #bodies, weights = self._find_faces() + # bodies, weights = self._find_color() + bodies, weights = self._find_faces() if len(bodies): logging.debug("Bodies: %s / Weights: %s", bodies, weights) @@ -149,5 +156,3 @@ if __name__ == '__main__': pass # conn.disconnect() -# obj = A() -# obj.main()