Python imutils.video() Examples
The following are 7
code examples of imutils.video().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
imutils
, or try the search function
.
Example #1
Source File: Camera.py From Facial-Recognition-Attendance-System with MIT License | 8 votes |
def start_capture(self, height=None, width=None, usingPiCamera=IS_RASPBERRY_PI, ): import imutils from imutils.video import VideoStream resolution = (self.height, self.width) if height: if width: resolution = (height, width) print("Camera Resolution:", resolution) cf = VideoStream(usePiCamera=usingPiCamera, resolution=resolution, framerate=30).start() self.current_frame = cf time.sleep(2) if not usingPiCamera: frame = imutils.resize(self.current_frame.read(), width=resolution[0], height=resolution[1]) # Stream started, call current_frame.read() to get current frame
Example #2
Source File: Camera.py From SmoothStream with GNU General Public License v3.0 | 7 votes |
def start_capture(self, height=None, width=None, usingPiCamera=IS_RASPBERRY_PI, ): import imutils from imutils.video import VideoStream resolution = (self.height, self.width) if height: if width: resolution = (height, width) cf = VideoStream(usePiCamera=usingPiCamera, resolution=resolution, framerate=32).start() self.current_frame = cf time.sleep(2) if not usingPiCamera: frame = imutils.resize(self.current_frame.read(), width=resolution[0]) # Stream started, call current_frame.read() to get current frame
Example #3
Source File: tracker.py From telloCV with Apache License 2.0 | 6 votes |
def main(): """Handles inpur from file or stream, tests the tracker class""" arg_parse = argparse.ArgumentParser() arg_parse.add_argument("-v", "--video", help="path to the (optional) video file") args = vars(arg_parse.parse_args()) # define the lower and upper boundaries of the "green" # ball in the HSV color space. NB the hue range in # opencv is 180, normally it is 360 green_lower = (50, 50, 50) green_upper = (70, 255, 255) # red_lower = (0, 50, 50) # red_upper = (20, 255, 255) # blue_lower = (110, 50, 50) # upper_blue = (130, 255, 255) # if a video path was not supplied, grab the reference # to the webcam if not args.get("video", False): vid_stream = VideoStream(src=0).start() # otherwise, grab a reference to the video file else: vid_stream = cv2.VideoCapture(args["video"]) # allow the camera or video file to warm up time.sleep(2.0) stream = args.get("video", False) frame = get_frame(vid_stream, stream) height, width = frame.shape[0], frame.shape[1] greentracker = Tracker(height, width, green_lower, green_upper) # keep looping until no more frames more_frames = True while more_frames: greentracker.track(frame) frame = greentracker.draw_arrows(frame) show(frame) frame = get_frame(vid_stream, stream) if frame is None: more_frames = False # if we are not using a video file, stop the camera video stream if not args.get("video", False): vid_stream.stop() # otherwise, release the camera else: vid_stream.release() # close all windows cv2.destroyAllWindows()
Example #4
Source File: tracker.py From telloCV with Apache License 2.0 | 6 votes |
def get_frame(vid_stream, stream): """grab the current video frame""" frame = vid_stream.read() # handle the frame from VideoCapture or VideoStream frame = frame[1] if stream else frame # if we are viewing a video and we did not grab a frame, # then we have reached the end of the video if frame is None: return None else: frame = imutils.resize(frame, width=600) return frame
Example #5
Source File: frame_producer.py From eye_of_sauron with MIT License | 6 votes |
def __init__(self, video_path, topic, topic_partitions=8, use_cv2=False, pub_obj_key="original", group=None, target=None, name=None, verbose=False, rr_distribute=False): """Video Streaming Producer Process Class. Publishes frames from a video source to a topic. :param video_path: video path or url :param topic: kafka topic to publish stamped encoded frames. :param topic_partitions: number of partitions this topic has, for distributing messages among partitions :param use_cv2: send every frame, using cv2 library, else will use imutils to speedup training :param pub_obj_key: associate tag with every frame encoded, can be used later to separate raw frames :param group: group should always be None; it exists solely for compatibility with threading. :param target: Process Target :param name: Process name :param verbose: print logs on stdout :param rr_distribute: use round robin partitioner, should be set same as consumers. """ super().__init__(group=group, target=target, name=name) # URL for streaming video self.video_path = video_path # TOPIC TO PUBLISH self.frame_topic = topic self.topic_partitions = topic_partitions self.camera_num = int(re.findall(r"StreamVideo-([0-9]*)", self.name)[0]) self.use_cv2 = use_cv2 self.object_key = pub_obj_key self.verbose = verbose self.rr_distribute = rr_distribute
Example #6
Source File: frame_producer.py From eye_of_sauron with MIT License | 6 votes |
def transform(frame, frame_num, object_key="original", camera=0, verbose=False): """Serialize frame, create json message with serialized frame, camera number and timestamp. :param frame: numpy.ndarray, raw frame :param frame_num: frame number in the particular video/camera :param object_key: identifier for these objects :param camera: Camera Number the frame is from :param verbose: print out logs :return: A dict {"frame": string(base64encodedarray), "dtype": obj.dtype.str, "shape": obj.shape, "timestamp": time.time(), "camera": camera, "frame_num": frame_num} """ frame = imutils.resize(frame, width=400) if verbose: # print raw frame size print("\nRAW ARRAY SIZE: ", sys.getsizeof(frame)) # serialize frame frame_dict = np_to_json(frame.astype(np.uint8), prefix_name=object_key) # Metadata for frame message = {"timestamp": time.time(), "camera": camera, "frame_num": frame_num} # add frame and metadata related to frame message.update(frame_dict) if verbose: # print message size print("\nMESSAGE SIZE: ", sys.getsizeof(message)) return message
Example #7
Source File: test_webcam.py From face_landmark_dnn with MIT License | 5 votes |
def webcam_main(): print("Camera sensor warming up...") vs = cv2.VideoCapture(0) time.sleep(2.0) mark_detector = MarkDetector() # loop over the frames from the video stream while True: _, frame = vs.read() start = cv2.getTickCount() frame = imutils.resize(frame, width=750, height=750) frame = cv2.flip(frame, 1) faceboxes = mark_detector.extract_cnn_facebox(frame) if faceboxes is not None: for facebox in faceboxes: # Detect landmarks from image of 64X64 with grayscale. face_img = frame[facebox[1]: facebox[3], facebox[0]: facebox[2]] # cv2.rectangle(frame, (facebox[0], facebox[1]), (facebox[2], facebox[3]), (0, 255, 0), 2) face_img = cv2.resize(face_img, (CNN_INPUT_SIZE, CNN_INPUT_SIZE)) face_img = cv2.cvtColor(face_img, cv2.COLOR_BGR2GRAY) face_img0 = face_img.reshape(1, CNN_INPUT_SIZE, CNN_INPUT_SIZE, 1) land_start_time = time.time() marks = mark_detector.detect_marks_keras(face_img0) # marks *= 255 marks *= facebox[2] - facebox[0] marks[:, 0] += facebox[0] marks[:, 1] += facebox[1] # Draw Predicted Landmarks mark_detector.draw_marks(frame, marks, color=(255, 255, 255), thick=2) fps_time = (cv2.getTickCount() - start)/cv2.getTickFrequency() cv2.putText(frame, '%.1ffps'%(1/fps_time) , (frame.shape[1]-65,15), cv2.FONT_HERSHEY_DUPLEX, 0.5, (0,255,0)) # show the frame cv2.imshow("Frame", frame) # writer.write(frame) key = cv2.waitKey(1) & 0xFF # if the `q` key was pressed, break from the loop if key == ord("q"): break # do a bit of cleanup cv2.destroyAllWindows() vs.stop()