Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import cv2
- class Cam(object):
- __flags_enabled = 0b00
- available_flags = {
- 0b01: lambda frame: cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY),
- 0b10: lambda frame: frame
- }
- def run_flags(self, frame):
- for flag in self.available_flags:
- if flag & self.__flags_enabled:
- frame = self.available_flags[flag](frame)
- return frame
- def __init__(self):
- self.__cap = cv2.VideoCapture(0)
- def __enter__(self, flags_enabled=0b01):
- while True:
- self.__flags_enabled = flags_enabled
- ret, frame = self.__cap.read()
- yield self.run_flags(frame)
- def __exit__(self, type, val, traceback):
- self.__cap.release()
- with Cam() as cam:
- for frame in cam:
- cv2.imshow('Frame', frame)
- if cv2.waitKey(1) == ord('q'):
- cv2.destroyAllWindows()
- exit(0)
Add Comment
Please, Sign In to add comment