import os
import cv2
from tqdm import tqdm
def bgr2yuv420bin(path_yuv, img_bgr):
yuv = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2YUV)
y = yuv[:, :, 0]
u = yuv[:, :, 1]
v = yuv[:, :, 2]
u = cv2.resize(u, (int(u.shape[1] / 2), int(u.shape[0] / 2)))
v = cv2.resize(v, (int(v.shape[1] / 2), int(v.shape[0] / 2)))
with open(path_yuv, 'wb') as f:
for row in range(y.shape[0]):
for col in range(y.shape[1]):
f.write(y[row, col])
for row in range(u.shape[0]):
for col in range(u.shape[1]):
f.write(u[row, col])
f.write(v[row, col])
path_jpg = 'jpg2yuv/jpg/' # jpg图片路径 不要有中文
path_output = 'jpg2yuv/yuv/' # 输出yuv文件路径
for root, dirs, files in os.walk(path_jpg):
for file in tqdm(files):
img = cv2.imread(root + '/' + file)
bgr2yuv420bin(path_output + '/' + file.replace('jpg', 'yuv'), img)
03-09
1594
