mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 17:44:04 +08:00
Check return value in python tutorial
This commit is contained in:
parent
3bba5b5a31
commit
4ebb617000
@ -25,23 +25,27 @@ import numpy as np
|
|||||||
import cv2 as cv
|
import cv2 as cv
|
||||||
|
|
||||||
cap = cv.VideoCapture(0)
|
cap = cv.VideoCapture(0)
|
||||||
|
if not cap.isOpened():
|
||||||
while(True):
|
print("Cannot open camera")
|
||||||
|
exit()
|
||||||
|
while True:
|
||||||
# Capture frame-by-frame
|
# Capture frame-by-frame
|
||||||
ret, frame = cap.read()
|
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
|
# Our operations on the frame come here
|
||||||
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
|
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
|
||||||
|
|
||||||
# Display the resulting frame
|
# Display the resulting frame
|
||||||
cv.imshow('frame',gray)
|
cv.imshow('frame', gray)
|
||||||
if cv.waitKey(1) & 0xFF == ord('q'):
|
if cv.waitKey(1) == ord('q'):
|
||||||
break
|
break
|
||||||
|
|
||||||
# When everything done, release the capture
|
# When everything done, release the capture
|
||||||
cap.release()
|
cap.release()
|
||||||
cv.destroyAllWindows()
|
cv.destroyAllWindows()@endcode
|
||||||
@endcode
|
|
||||||
`cap.read()` returns a bool (`True`/`False`). If frame is read correctly, it will be `True`. So you can
|
`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.
|
check end of the video by checking this return value.
|
||||||
|
|
||||||
@ -75,13 +79,17 @@ import cv2 as cv
|
|||||||
|
|
||||||
cap = cv.VideoCapture('vtest.avi')
|
cap = cv.VideoCapture('vtest.avi')
|
||||||
|
|
||||||
while(cap.isOpened()):
|
while cap.isOpened():
|
||||||
ret, frame = cap.read()
|
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)
|
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
|
||||||
|
|
||||||
cv.imshow('frame',gray)
|
cv.imshow('frame', gray)
|
||||||
if cv.waitKey(1) & 0xFF == ord('q'):
|
if cv.waitKey(1) == ord('q'):
|
||||||
break
|
break
|
||||||
|
|
||||||
cap.release()
|
cap.release()
|
||||||
@ -123,20 +131,20 @@ cap = cv.VideoCapture(0)
|
|||||||
|
|
||||||
# Define the codec and create VideoWriter object
|
# Define the codec and create VideoWriter object
|
||||||
fourcc = cv.VideoWriter_fourcc(*'XVID')
|
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()
|
ret, frame = cap.read()
|
||||||
if ret==True:
|
if not ret:
|
||||||
frame = cv.flip(frame,0)
|
print("Can't receive frame (stream end?). Exiting ...")
|
||||||
|
break
|
||||||
|
frame = cv.flip(frame, 0)
|
||||||
|
|
||||||
# write the flipped frame
|
# write the flipped frame
|
||||||
out.write(frame)
|
out.write(frame)
|
||||||
|
|
||||||
cv.imshow('frame',frame)
|
cv.imshow('frame', frame)
|
||||||
if cv.waitKey(1) & 0xFF == ord('q'):
|
if cv.waitKey(1) == ord('q'):
|
||||||
break
|
|
||||||
else:
|
|
||||||
break
|
break
|
||||||
|
|
||||||
# Release everything if job is finished
|
# Release everything if job is finished
|
||||||
|
Loading…
Reference in New Issue
Block a user