eddygiusepe commited on
Commit
a84ed97
·
1 Parent(s): 138a175

OpenCV com vídeo

Browse files
5_Read_and_Display_Videos_Using_OpenCV.py ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Data Scientist.: Dr.Eddy Giusepe Chirinos Isidro
3
+
4
+ Link de estudo:
5
+
6
+ * https://machinelearningmastery.com/how-to-read-and-display-videos-using-opencv/?utm_source=drip&utm_medium=email&utm_campaign=A+gentle+introduction+to+OpenCV&utm_content=A+gentle+introduction+to+OpenCV
7
+
8
+
9
+ Como um vídeo é formulado
10
+ =========================
11
+
12
+ Ao descrever o vídeo digital adicionaremos uma dimensão extra, t , que denota tempo. A razão para
13
+ fazer isso é que o vídeo digital é, na verdade, composto de imagens digitais que são exibidas
14
+ sequencialmente em rápida sucessão ao longo de um período de tempo. No contexto do vídeo, nos
15
+ referiremos a essas imagens como IMAGE FRAMES. A taxa na qual os quadros são exibidos em sucessão
16
+ é chamada de FRAME RATE e é medida em frames por segundo, ou FPS, em resumo.
17
+ """
18
+ # Lendo e exibindo quadros de imagem de uma câmera
19
+ from cv2 import VideoCapture
20
+
21
+ capture = VideoCapture(0)
22
+
23
+ # seria sensato verificar se uma conexão com a câmera foi estabelecida com sucesso
24
+ if not capture.isOpened():
25
+ print("Erro ao estabelecer conexão")
26
+ else:
27
+ print("Conexão com sucesso 🤗")
28
+
29
+
30
+ # O seguinte método retorna o próximo quadro de imagem em frame, junto com um valor booleano 'ret' que indica
31
+ # True se um quadro de imagem foi capturado com sucesso ou, inversamente, False se o método retornou uma imagem vazia.
32
+ ret, frame = capture.read()
33
+ print(ret)
34
+
35
+
36
+
37
+ from cv2 import imshow
38
+ if ret:
39
+ imshow('Exibindo frames de imagem de uma webcam', frame)
40
+
41
+ # 🚨NOTA🚨:
42
+ # Tenha sempre em mente que ao trabalhar com OpenCV, cada quadro da imagem é lido no formato de cores 🧐 BGR 🧐.
43
+
44
+
45
+ from cv2 import VideoCapture, imshow, waitKey, destroyAllWindows
46
+ # Criar objeto de captura de vídeo:
47
+ capture = VideoCapture(0)
48
+
49
+ # Verifique se uma conexão de câmera foi estabelecida:
50
+ if not capture.isOpened():
51
+ print("Erro ao estabelecer conexão")
52
+ else:
53
+ print("Conexão com sucesso 🤗")
54
+
55
+ capture = VideoCapture(0) # Eu acrescentei esta Linha para que o seguinte LOPP funcione.
56
+ while capture.isOpened():
57
+ # Ler um Frame de imagem:
58
+ ret, frame = capture.read()
59
+ # Se um Frame de imagem foi capturado, exiba-o:
60
+ if ret:
61
+ imshow('Exibindo Frames de imagem de uma webcam', frame)
62
+ # Se a tecla Esc for pressionada, encerre o loop while:
63
+ if waitKey(25) == 27:
64
+ break
65
+ # Liberar a captura de vídeo e fechar a janela de exibição:
66
+ capture.release()
67
+ destroyAllWindows()
68
+
69
+
70
+
71
+ """
72
+ Lendo e exibindo quadros de imagem de um arquivo de vídeo
73
+ =========================================================
74
+ """
75
+ # capture = VideoCapture('Videos/Iceland.mp4')
76
+ # # Também é possível obter diversas propriedades do objeto capturado, como largura e altura dos quadros da imagem, bem como a taxa de quadros:
77
+ # from cv2 import CAP_PROP_FRAME_WIDTH, CAP_PROP_FRAME_HEIGHT, CAP_PROP_FPS
78
+
79
+ # # Posso ver pelas propriedades de vídeo exibidas em minha unidade local que o vídeo é composto de frames de
80
+ # # imagem com dimensões de 1280 x 720 pixels e que é executado a uma taxa de frames de 25 fps.
81
+ # frame_width = capture.get(CAP_PROP_FRAME_WIDTH)
82
+ # frame_height = capture.get(CAP_PROP_FRAME_HEIGHT)
83
+ # fps = capture.get(CAP_PROP_FPS)
84
+
85
+ # print(frame_width)
86
+ # print(frame_height)
87
+ # print(fps)
88
+
89
+
90
+
91
+ from cv2 import (VideoCapture, imshow, waitKey, destroyAllWindows,
92
+ CAP_PROP_FRAME_WIDTH, CAP_PROP_FRAME_HEIGHT, CAP_PROP_FPS)
93
+
94
+ # Create video capture object
95
+ capture = VideoCapture('Videos/Iceland2.mp4') # Baixar vídeo de graça --> https://www.videvo.net/video/aerial-view-of-gullfoss-waterfall/452782/#rs=video-box
96
+
97
+ # Verifique se uma conexão de câmera foi estabelecida:
98
+ if not capture.isOpened():
99
+ print("Erro ao abrir arquivo de vídeo")
100
+
101
+ else:
102
+ # Get video properties and print them
103
+ frame_width = capture.get(CAP_PROP_FRAME_WIDTH)
104
+ frame_height = capture.get(CAP_PROP_FRAME_HEIGHT)
105
+ fps = capture.get(CAP_PROP_FPS)
106
+
107
+ print("Image frame width: ", int(frame_width))
108
+ print("Image frame height: ", int(frame_height))
109
+ print("Frame rate: ", int(fps))
110
+
111
+
112
+ while capture.isOpened():
113
+
114
+ # Ler um Frame de imagem:
115
+ ret, frame = capture.read()
116
+
117
+ # Se um frame de imagem foi capturado, exiba-o:
118
+ if ret:
119
+ imshow('Exibindo frames de imagem de arquivo de vídeo', frame)
120
+
121
+ # Se a tecla Esc for pressionada, encerre o loop while:
122
+ if waitKey(25) == 27:
123
+ break
124
+
125
+ # Liberar a captura de vídeo e fechar a janela de exibição:
126
+ capture.release()
127
+ destroyAllWindows()