Skip to content

Commit

Permalink
Merge pull request #13877 from LaurentBerger:pythonvideo
Browse files Browse the repository at this point in the history
  • Loading branch information
alalek committed Feb 22, 2019
2 parents ca4fd1e + 4ebb617 commit 682e03b
Showing 1 changed file with 28 additions and 20 deletions.
48 changes: 28 additions & 20 deletions doc/py_tutorials/py_gui/py_video_display/py_video_display.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -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()
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 682e03b

Please sign in to comment.