代码如下:
import os
import shutil
import numpy as np
import cv2
def read_images(input_path, img_height=480, img_width=640):
"""
解析yuv图像
"""
images_path = os.path.join(input_path, "Images")
output_path = os.path.join(input_path, "Images_bgr")
if not os.path.exists(output_path):
os.makedirs(output_path)
else:
shutil.rmtree(output_path)
os.makedirs(output_path)
yuv_images = os.listdir(images_path)
for yuv_img in yuv_images:
if yuv_img.endswith("yuv"):
print(yuv_img)
img_name = yuv_img.split(".")[0]
yuv_frame = np.fromfile(os.path.join(images_path, yuv_img), dtype=np.uint8)
yuv_frame = yuv_frame.reshape(img_height * 3 // 2, img_width)
img_bgr = cv2.cvtColor(yuv_frame, cv2.COLOR_YUV2BGR_NV21)
cv2.imwrite(os.path.join(output_path, img_name + ".jpg"), img_bgr)
if __name__ == "__main__":
data_path = r"path/to/data"
read_images(data_path)
yuv图像存储在 path/to/data/Images 下面



