Python | Play a video in reverse mode using OpenCV
Last Updated :
04 Jan, 2023
OpenCV (Open Source Computer Vision) is a computer vision library that contains various functions to perform operations on Images or videos.
OpenCV's application areas include :
1) Facial recognition system
2) motion tracking
3) Artificial neural network
4) Deep neural network
5) video streaming etc.
In Python, one can use an OpenCV library named CV2. Python does not come with cv2, so user needs to install it separately.
For Windows :
pip install opencv-python
For Linux :
sudo apt-get install python-opencv
OpenCv library can be used to perform multiple operations on videos. Let’s try to do something interesting using CV2. Take a video as input and play it in a reverse mode by breaking the video into frame by frame and simultaneously store that frame in the list. After getting list of frames we perform iteration over the frames. For playing video in reverse mode, we need only to iterate reverse in the list of frames. Use reverse method of the list for reversing the order of frames in the list.
Below is the implementation :
Python3
import cv2
cap = cv2.VideoCapture( "video_file_location" )
check , vid = cap.read()
counter = 0
check = True
frame_list = []
while (check = = True ):
cv2.imwrite( "frame%d.jpg" % counter , vid)
check , vid = cap.read()
frame_list.append(vid)
counter + = 1
frame_list.pop()
for frame in frame_list:
cv2.imshow( "Frame" , frame)
if cv2.waitKey( 25 ) and 0xFF = = ord ( "q" ):
break
cap.release()
cv2.destroyAllWindows()
frame_list.reverse()
for frame in frame_list:
cv2.imshow( "Frame" , frame)
if cv2.waitKey( 25 ) and 0xFF = = ord ( "q" ):
break
cap.release()
cv2.destroyAllWindows()
|
Output :