由于网上没找到好用的显示YUV420semiplanar格式图像的工具,自己整理了一段显示YUV420图像的python代码,分享给大家。
###############################################################
# author: sl
# function: view yuv image file(only support YUV420SemiPlanar)
# date: 2016-8-30
###############################################################
from numpy import *
from PIL import Image
def readYuvFile(filename,width,height):
fp=open(filename,'rb')
uv_width=width//2
uv_height=height//2
Y=zeros((height,width),uint8,'C')
U=zeros((uv_height,uv_width),uint8,'C')
V=zeros((uv_height,uv_width),uint8,'C')
for m in range(height):
for n in range(width):
Y[m,n]=ord(fp.read(1))
for m in range(uv_height):
for n in range(uv_width):
V[m,n]=ord(fp.read(1))
U[m,n]=ord(fp.read(1))
fp.close()
retur