EG version upgrade to 1.3
[ealt-edge.git] / example-apps / ROBO / retail_app / camera_driver / capture_frame.py
1 #
2 # Copyright 2020 Huawei Technologies Co., Ltd.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16
17 import cv2
18
19
20 class VideoCamera(object):
21     """
22     opneCV to capture frame from a camera
23     """
24     def __init__(self, url):
25         self.video = cv2.VideoCapture(url)
26
27     def delete(self):
28         self.video.release()
29
30     def get_frame(self):
31         """
32         get a frame from camera url
33         """
34         success, image = self.video.read()
35         return success, image
36
37
38 class VideoFile(object):
39     """
40     opneCV to capture frame from a video stream
41     """
42     def __init__(self, video_name):
43         self.video = cv2.VideoCapture("./test/resources/" + video_name)
44
45     def delete(self):
46         self.video.release()
47
48     def get_frame(self):
49         """
50         get a frane from stream
51         """
52         success, image = self.video.read()
53         return success, image