- 视频转图像
def video2img():
vc = cv2.VideoCapture('D:/Pytorch-UNet-master/test_1.mp4') # 读取视频文件
c = 1
if vc.isOpened():
while True:
# 循环读取视频帧
rval, frame = vc.read() # 读取每帧图像,rval索引,没有图像时值为false;frame图像
# 对每帧图像进行处理,识别检测
if rval:
cv2.imwrite('D:/Pytorch-UNet-master/video2imgs/' + str(int(c)) + '.jpg', frame) # 将图像写入
c = c + 1
print(c) # 记录图片数
else:
break
else:
print("打开视频失败")
vc.release()
- 图像转视频
def img2video():
img_root = 'D:/Pytorch-UNet-master/runs' # 读取图片目录
fps = 30 # 保存视频的FPS,可以适当调整
# 编码器 可以用(*'DVIX')或(*'X264'),如果都不行先装ffmepg: sudo apt-get install ffmepg
fourcc = cv2.VideoWriter_fourcc(*'XVID')
videoWriter = cv2.VideoWriter('D:/Pytorch-UNet-master/imgs2video/predict.mp4', fourcc, fps,
(1280, 720)) # 视频写入;编码器;fps;图片的尺寸,根据自己的图片决定
# 遍历文件夹下所有图片,listdir为随机排序
imgnames = os.listdir(img_root)
# 将图片顺序排序
imgnames.sort(key=lambda x: int(x[:-4]))
for imgname in imgnames:
print(imgname)
# 读取图片
frame = cv2.imread(img_root + '/' + imgname)
videoWriter.write(frame)
videoWriter.release()
print("已经转为视频")
- 图片显示
def show_img():
img = cv2.imread('D:/Pytorch-UNet-master/video2imgs/1.jpg') # 读取图片,绝对路径/执行py的同一目录
cv2.imshow('i', img) # 窗口名;显示图片
# 不加waitKey()图片将一闪而过
cv2.waitKey(0) # 不断刷新图像,频率时间为delay,单位为ms,亦可增大频率
后续在学习过程中,会不断更新内容