> 文章列表 > Python_opencv_gif编辑:对自己好一点!!!锻炼起来

Python_opencv_gif编辑:对自己好一点!!!锻炼起来

Python_opencv_gif编辑:对自己好一点!!!锻炼起来

目录

1、背景

2、准备

 3.想要视频(安排)

 4. 图片展示

1、背景

    八段锦是一种传统的健身功法,源于中国古代的道家文化,也被称为“八宝功”、“八宝锻身法”等。它是一种练习身体柔韧性、平衡性、耐力和呼吸控制的综合性健身运动。八段锦起源于中国南北朝时期,传说是由著名的道士张三丰所创。八段锦的练习方法主要是通过一系列的动作和呼吸控制来调节身体的气血流动,从而达到强身健体的效果。这些动作包括:两臂拦门、左右开弓、双手攀足、提肛助腰、转头盼背、搓手捶背、倒挂金钩、进退蹬腿等。八段锦的练习可以帮助人们增强身体的柔韧性和平衡性,提高心肺功能和代谢能力,缓解压力和疲劳,增强免疫力等。同时,八段锦还可以帮助人们调节身心状态,提高精神和意志力,促进身心健康。目前,八段锦已经成为了一种广泛流传的健身运动,深受人们的喜爱。许多健身场所和社区都开设了八段锦课程,供人们参加练习。同时,八段锦也成为了一种重要的文化遗产,被列为国家级非物质文化遗产保护项目。

2、准备

 3.想要视频(安排)

import cv2
import numpy as np
# 读取8张GIF图片
gif1 = cv2.VideoCapture('1.gif')
gif2 = cv2.VideoCapture('2.gif')
gif3 = cv2.VideoCapture('3.gif')
gif4 = cv2.VideoCapture('4.gif')
gif5 = cv2.VideoCapture('5.gif')
gif6 = cv2.VideoCapture('6.gif')
gif7 = cv2.VideoCapture('7.gif')
gif8 = cv2.VideoCapture('8.gif')
# 获取8张GIF图片的基本信息
fps = gif1.get(cv2.CAP_PROP_FPS)
width = int(gif1.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(gif1.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 创建展示窗口
cv2.namedWindow('GIFs', cv2.WINDOW_NORMAL)
# 创建视频写入器
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.mp4', fourcc, fps/2, (width*4, height*2))
# 展示8张GIF图片并保存为视频
while True:# 读取8张GIF图片的每一帧并拼接在一起ret1, frame1 = gif1.read()ret2, frame2 = gif2.read()ret3, frame3 = gif3.read()ret4, frame4 = gif4.read()ret5, frame5 = gif5.read()ret6, frame6 = gif6.read()ret7, frame7 = gif7.read()ret8, frame8 = gif8.read()if not ret1 or not ret2 or not ret3 or not ret4 or not ret5 or not ret6 or not ret7 or not ret8:breakframe1 = cv2.resize(frame1, (width, height))frame2 = cv2.resize(frame2, (width, height))frame3 = cv2.resize(frame3, (width, height))frame4 = cv2.resize(frame4, (width, height))frame5 = cv2.resize(frame5, (width, height))frame6 = cv2.resize(frame6, (width, height))frame7 = cv2.resize(frame7, (width, height))frame8 = cv2.resize(frame8, (width, height))frames = np.vstack((np.hstack((frame1, frame2, frame3, frame4)),np.hstack((frame5, frame6, frame7, frame8))))# 在展示窗口中展示拼接后的帧cv2.imshow('GIFs', frames)# 将拼接后的帧写入视频文件out.write(frames)cv2.waitKey(50) # 等待50毫秒
# 关闭窗口、GIF图片和视频写入器
cv2.destroyAllWindows()
gif1.release()
gif2.release()
gif3.release()
gif4.release()
gif5.release()
gif6.release()
gif7.release()
gif8.release()
out.release()

 4. 图片展示

  

八段锦