Відкриття відеофайлу
'''
якщо VIDEO_FILE_NAME='0' то зображення зчитується з відеокамери ноутбука
'''
cap = cv2.VideoCapture(VIDEO_FILE_NAME)
Запис масиву фреймів у відеофайл
def write_video(file_name, frames, width, height):
writer = cv2.VideoWriter(file_name,
cv2.VideoWriter_fourcc(*'X264'),
30,
(int(width), int(height))
)
for frame in frames:
writer.write(frame)
else:
writer.release()
Перегляд відео
cap = cv2.VideoCapture('do.mp4')
if (cap.isOpened()== False):
print("Помилка...")
while(cap.isOpened()):
ret, frame = cap.read()
''' При потребі фрейм обробляється '''
if ret == True:
cv2.imshow('Frame',frame)
#для виходу натисніть q
if cv2.waitKey(25) & 0xFF == ord('q'):
break
else: break
cap.release()
cv2.destroyAllWindows()
Перегляд відео в зворотньому порядку
cap = cv2.VideoCapture('do.mp4')
ret = True
frame_list = []
while(ret == True):
ret,vid = cap.read()
frame_list.append(vid)
frame_list.pop()
cap.release()
frame_list.reverse()
for frame in frame_list:
cv2.imshow("Frame" , frame)
if cv2.waitKey(25) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Маска з об'єктів переднього плану
cap = cv2.VideoCapture('do.mp4')
#fgbg = cv2.createBackgroundSubtractorKNN()
fgbg = cv2.createBackgroundSubtractorMOG2()
if (cap.isOpened()== False):
print("Помилка...")
while(cap.isOpened()):
ret,frame = cap.read()
fgmask = fgbg.apply(frame)
if ret == True:
cv2.imshow('Frame',fgmask)
#для виходу натисніть q
if cv2.waitKey(25) & 0xFF == ord('q'):
break
else: break
cap.release()
cv2.destroyAllWindows()
Немає коментарів:
Дописати коментар