|
|
|
@ -25,23 +25,27 @@ import numpy as np |
|
|
|
|
import cv2 as cv |
|
|
|
|
|
|
|
|
|
cap = cv.VideoCapture(0) |
|
|
|
|
|
|
|
|
|
while(True): |
|
|
|
|
if not cap.isOpened(): |
|
|
|
|
print("Cannot open camera") |
|
|
|
|
exit() |
|
|
|
|
while True: |
|
|
|
|
# Capture frame-by-frame |
|
|
|
|
ret, frame = cap.read() |
|
|
|
|
|
|
|
|
|
# if frame is read correctly ret is True |
|
|
|
|
if not ret: |
|
|
|
|
print("Can't receive frame (stream end?). Exiting ...") |
|
|
|
|
break |
|
|
|
|
# Our operations on the frame come here |
|
|
|
|
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) |
|
|
|
|
|
|
|
|
|
# Display the resulting frame |
|
|
|
|
cv.imshow('frame',gray) |
|
|
|
|
if cv.waitKey(1) & 0xFF == ord('q'): |
|
|
|
|
cv.imshow('frame', gray) |
|
|
|
|
if cv.waitKey(1) == ord('q'): |
|
|
|
|
break |
|
|
|
|
|
|
|
|
|
# When everything done, release the capture |
|
|
|
|
cap.release() |
|
|
|
|
cv.destroyAllWindows() |
|
|
|
|
@endcode |
|
|
|
|
cv.destroyAllWindows()@endcode |
|
|
|
|
`cap.read()` returns a bool (`True`/`False`). If frame is read correctly, it will be `True`. So you can |
|
|
|
|
check end of the video by checking this return value. |
|
|
|
|
|
|
|
|
@ -75,13 +79,17 @@ import cv2 as cv |
|
|
|
|
|
|
|
|
|
cap = cv.VideoCapture('vtest.avi') |
|
|
|
|
|
|
|
|
|
while(cap.isOpened()): |
|
|
|
|
while cap.isOpened(): |
|
|
|
|
ret, frame = cap.read() |
|
|
|
|
|
|
|
|
|
# if frame is read correctly ret is True |
|
|
|
|
if not ret: |
|
|
|
|
print("Can't receive frame (stream end?). Exiting ...") |
|
|
|
|
break |
|
|
|
|
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) |
|
|
|
|
|
|
|
|
|
cv.imshow('frame',gray) |
|
|
|
|
if cv.waitKey(1) & 0xFF == ord('q'): |
|
|
|
|
cv.imshow('frame', gray) |
|
|
|
|
if cv.waitKey(1) == ord('q'): |
|
|
|
|
break |
|
|
|
|
|
|
|
|
|
cap.release() |
|
|
|
@ -123,20 +131,20 @@ cap = cv.VideoCapture(0) |
|
|
|
|
|
|
|
|
|
# Define the codec and create VideoWriter object |
|
|
|
|
fourcc = cv.VideoWriter_fourcc(*'XVID') |
|
|
|
|
out = cv.VideoWriter('output.avi',fourcc, 20.0, (640,480)) |
|
|
|
|
out = cv.VideoWriter('output.avi', fourcc, 20.0, (640, 480)) |
|
|
|
|
|
|
|
|
|
while(cap.isOpened()): |
|
|
|
|
while cap.isOpened(): |
|
|
|
|
ret, frame = cap.read() |
|
|
|
|
if ret==True: |
|
|
|
|
frame = cv.flip(frame,0) |
|
|
|
|
if not ret: |
|
|
|
|
print("Can't receive frame (stream end?). Exiting ...") |
|
|
|
|
break |
|
|
|
|
frame = cv.flip(frame, 0) |
|
|
|
|
|
|
|
|
|
# write the flipped frame |
|
|
|
|
out.write(frame) |
|
|
|
|
# write the flipped frame |
|
|
|
|
out.write(frame) |
|
|
|
|
|
|
|
|
|
cv.imshow('frame',frame) |
|
|
|
|
if cv.waitKey(1) & 0xFF == ord('q'): |
|
|
|
|
break |
|
|
|
|
else: |
|
|
|
|
cv.imshow('frame', frame) |
|
|
|
|
if cv.waitKey(1) == ord('q'): |
|
|
|
|
break |
|
|
|
|
|
|
|
|
|
# Release everything if job is finished |
|
|
|
|