-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIO_Basic.py
115 lines (90 loc) · 3.14 KB
/
IO_Basic.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
import numpy as np
import cv2
from pathlib import Path
import os
import random
import math
import multiprocessing as mp
def open_picture (pfad_und_dateiendung =""):
rgb = cv2.imread(pfad_und_dateiendung)
if rgb is None:
rgb = np.zeros((100, 100, 3), np.uint8)
gray = cv2.cvtColor(rgb, cv2.COLOR_BGR2GRAY)
return rgb, gray
def capture_webcam_einzel_Frame (kamera_nummer = 0):
cap = cv2.VideoCapture(kamera_nummer)
#ret = cap.set(cv.CAP_PROP_FRAME_WIDTH, 320)
#ret = cap.set(cv.CAP_PROP_FRAME_HEIGHT, 240).
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(width, height)
if cap.isOpened():
ret, rgb_frame = cap.read()
if ret is False:
rgb_frame = np.zeros((width, height, 3), np.uint8)
else:
width = 224
height = 224
rgb_frame = np.zeros((width, height, 3), np.uint8)
gray_frame = cv2.cvtColor(rgb_frame, cv2.COLOR_BGR2GRAY)
cap.release()
return rgb_frame, gray_frame
def capture_webcam_open (kamera_nummer = 0):
cap = cv2.VideoCapture(kamera_nummer)
if cap.isOpened():
return cap
else:
return None
def capture_webcam_multi_frame (cap = None):
if cap == None:
width = 224
height = 224
rgb_frame = np.zeros((width, height, 3), np.uint8)
else:
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
if cap.isOpened():
ret, rgb_frame = cap.read()
if ret is False:
print("ret is False")
rgb_frame = np.zeros((width, height, 3), np.uint8)
else:
width = 224
height = 224
rgb_frame = np.zeros((width, height, 3), np.uint8)
print("Webcam is closed!")
gray_frame = cv2.cvtColor(rgb_frame, cv2.COLOR_BGR2GRAY)
rgb_frame = cv2.resize(rgb_frame, (224, 224))
gray_frame = cv2.resize(gray_frame, (224, 224))
return rgb_frame, gray_frame
def capture_webcam_close (cap = None):
if cap is not None:
cap.release()
def get_video_frame (pfad_und_dateiendung ="", framenumber = 0):
cap = cv2.VideoCapture(pfad_und_dateiendung)
# ret = cap.set(cv.CAP_PROP_FRAME_WIDTH, 320)
# ret = cap.set(cv.CAP_PROP_FRAME_HEIGHT, 240).
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(width, height)
if cap.isOpened():
cap.set(cv2.CAP_PROP_POS_FRAMES, framenumber)
ret, rgb_frame = cap.read()
if ret is False:
rgb_frame = np.zeros((width, height, 3), np.uint8)
else:
rgb_frame = np.zeros((width, height, 3), np.uint8)
gray_frame = cv2.cvtColor(rgb_frame, cv2.COLOR_BGR2GRAY)
cap.release()
return rgb_frame, gray_frame
def get_frame_numbers (pfad_und_dateiendung = ""):
frame_nummber = 0
cap = cv2.VideoCapture(pfad_und_dateiendung)
if cap.isOpened():
while True:
ret, rgb_frame = cap.read()
if ret is False:
break
frame_nummber += 1
cap.release()
return frame_nummber