回传数据解析,兼容v5和v10
This commit is contained in:
127
imgs_to_video.py
Normal file
127
imgs_to_video.py
Normal file
@ -0,0 +1,127 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Tue Jan 30 19:15:05 2024
|
||||
|
||||
@author: ym
|
||||
"""
|
||||
import cv2
|
||||
import os
|
||||
import glob
|
||||
IMG_FORMATS = "bmp", "dng", "jpeg", "jpg", "mpo", "png", "tif", "tiff", "webp", "pfm" # include image suffixes
|
||||
VID_FORMATS = "asf", "avi", "gif", "m4v", "mkv", "mov", "mp4", "mpeg", "mpg", "ts", "wmv" # include video suffixes
|
||||
|
||||
|
||||
def for_test():
|
||||
save_path = video_path + img_path
|
||||
|
||||
fps, w, h = 10, 1024, 1280
|
||||
cap = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'mp4v'), fps, (w, h))
|
||||
|
||||
pathx = path + img_path
|
||||
imgfiles = [f for f in os.listdir(pathx) if not f.find("_cut") != -1]
|
||||
|
||||
imgfiles.sort(key = lambda x: int(x[:-5]))
|
||||
imgpaths = []
|
||||
for imgfile in imgfiles:
|
||||
imgpaths.append(os.path.join(pathx, imgfile))
|
||||
|
||||
center = (1280/2, 1024/2)
|
||||
rotate_matrix = cv2.getRotationMatrix2D(center=center, angle=-90, scale=1)
|
||||
k = 0
|
||||
for ipath in imgpaths:
|
||||
img = cv2.imread(ipath)
|
||||
rotated_image = cv2.warpAffine(src=img, M=rotate_matrix, dsize=(w, h))
|
||||
cap.write(rotated_image)
|
||||
print("Have imgs")
|
||||
|
||||
def test_1():
|
||||
|
||||
# name = os.path.split(img_path)[-1]
|
||||
# save_path = video_path + name + '.mp4'
|
||||
|
||||
save_path = video_path + img_path
|
||||
|
||||
|
||||
|
||||
fps, w, h = 10, 1024, 1280
|
||||
cap = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'mp4v'), fps, (w, h))
|
||||
|
||||
pathx = path + img_path
|
||||
imgfiles = [f for f in os.listdir(pathx) if not f.find("_cut") != -1]
|
||||
|
||||
imgfiles.sort(key = lambda x: int(x[:-5]))
|
||||
imgpaths = []
|
||||
for imgfile in imgfiles:
|
||||
imgpaths.append(os.path.join(pathx, imgfile))
|
||||
|
||||
|
||||
|
||||
|
||||
# ipaths = [os.path.join(pathx, f) for f in os.listdir(pathx) if not f.find("_cut") != -1]
|
||||
# ipaths = []
|
||||
# for f in os.listdir(pathx):
|
||||
# if not f.find('_cut'):
|
||||
# ipaths.append(os.path.join(pathx, f))
|
||||
# ipaths.sort(key = lambda x: int(x.split('_')[-2]))
|
||||
|
||||
|
||||
k = 0
|
||||
for ipath in imgpaths:
|
||||
img = cv2.imread(ipath)
|
||||
cap.write(img)
|
||||
|
||||
|
||||
k += 1
|
||||
|
||||
cap.release()
|
||||
|
||||
print(img_path + f" have imgs: {k}")
|
||||
|
||||
def img2video(imgpath):
|
||||
if not os.path.isdir(imgpath):
|
||||
return
|
||||
|
||||
files = []
|
||||
files.extend(sorted(glob.glob(os.path.join(imgpath, "*.*"))))
|
||||
images = [x for x in files if x.split(".")[-1].lower() in IMG_FORMATS]
|
||||
|
||||
h, w = cv2.imread(images[0]).shape[:2]
|
||||
fps = 25
|
||||
|
||||
vidpath = imgpath + '.mp4'
|
||||
cap = cv2.VideoWriter(vidpath, cv2.VideoWriter_fourcc(*'mp4v'), fps, (w, h))
|
||||
for p in images:
|
||||
img = cv2.imread(p)
|
||||
cap.write(img)
|
||||
cap.release()
|
||||
|
||||
|
||||
def main():
|
||||
imgpath = r"D:\work\result\202503251112_v10s_result"
|
||||
|
||||
img2video(imgpath)
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user