官术网_书友最值得收藏!

Using the properties – playing a video backwards

To see how we can use the aforementioned properties, we are going to understand the read_video_file_backwards.py script, which uses some of these properties to load a video and output it backwards, showing the last frame of the video first and so on. We are going to use the following properties:

  • cv2.CAP_PROP_FRAME_COUNT: This property provides the total number of frames
  • cv2.CAP_PROP_POS_FRAMES: This property provides the current frame

The first step is to get the index of the last frame:

# We get the index of the last frame of the video file
frame_index = capture.get(cv2.CAP_PROP_FRAME_COUNT) - 1

Therefore, we set the current frame to read to this position:

 # We set the current frame position
capture.set(cv2.CAP_PROP_POS_FRAMES, frame_index)

This way, we can read this frame as usual:

 # Capture frame-by-frame from the video file
ret, frame = capture.read()

Finally, we decrement the index in order to read the next frame from the video file:

 # Decrement the index to read next frame
frame_index = frame_index - 1

The full code is provided in the read_video_file_backwards.py script. This script can be easily modified to save the resulting video playing backwards (not only showing it). This script is proposed in the Question section.

主站蜘蛛池模板: 安西县| 民勤县| 阳东县| 金山区| 海原县| 乌鲁木齐市| 进贤县| 方正县| 惠州市| 油尖旺区| 灌阳县| 新平| 鄂托克前旗| 大荔县| 奎屯市| 武平县| 怀化市| 南部县| 西乌珠穆沁旗| 灵川县| 四会市| 大关县| 托克托县| 内黄县| 巩义市| 长兴县| 安福县| 伽师县| 山阴县| 贵溪市| 慈利县| 屏东县| 那坡县| 交口县| 内黄县| 万年县| 永安市| 宁津县| 庆元县| 和林格尔县| 安陆市|