127 lines
2.9 KiB
Python
127 lines
2.9 KiB
Python
# -*- 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()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|