在录制某些植物生长视频时并不一定时刻录制,可以每隔几秒或者几分钟拍照即可,那么python很容易就能实现这个功能:
import time, cv2
i = 0; cap = cv2.VideoCapture(0)
print("你需要几秒钟拍一次?")
minutes = input()
print("你需要拍几个小时?")
hours = input()
while True:
time.sleep(minutes) # 每隔5秒钟拍一次照片
cv2.imwrite("images/image_%d.jpg"%i, cap.read()[1]) # 将照片保存
i = i + 1
cost = minutes*i/3600
if cost > hours:
break
拍照后然后将所有的照片做成视频:
import os
import cv2
import numpy as np
path = 'images/' # 拍的照片位置
filelist = os.listdir(path) # 读取文件列表
fps = 24
size = image.shape # 照片的尺寸, 可以自己设置,也可以通过读取照片信息获得
video = cv2.VideoWriter("video.avi", cv2.VideoWriter_fourcc('I', '4', '2', '0'), fps, size)
for item in filelist:
if item.endswith('.jpg'):
item = path + item
img = cv2.imread(item)
video.write(img)
video.release()
cv2.destroyAllWindows()
opencv也可以对照片进行处理,比如锐化,模糊,剪切等操作,这个看个人需求。设置好后,就可以坐等视频的生成了。