测试文件(yuv后缀的文件不能上传,改为txt后缀)
test.txt
import cv2import numpy as npdef yuv_import(filename,dims,numfrm,startfrm):fp=open(filename,'rb')blk_size = np.prod(dims) *3/2fp.seek(int(blk_size*startfrm),0)Y=[]U=[]V=[]d00=dims[0]//2d01=dims[1]//2for _ in range(numfrm):Yt=np.zeros((dims[0],dims[1]),np.uint8,'C')Ut=np.zeros((d00,d01),np.uint8,'C')Vt=np.zeros((d00,d01),np.uint8,'C')for m in range(dims[0]):for n in range(dims[1]):Yt[m,n]=ord(fp.read(1))for m in range(d00):for n in range(d01):Ut[m,n]=ord(fp.read(1))for m in range(d00):for n in range(d01):Vt[m,n]=ord(fp.read(1))Y.append(Yt)U=U+[Ut]V=V+[Vt]fp.close()return (Y,U,V)if __name__ == '__main__':width=128height=128frame_num = 150data=yuv_import('E:\\linux_share\\out.yuv',(height,width),frame_num,0)YY=data[0]for i in range(frame_num):cv2.imshow("sohow",YY[i])cv2.waitKey(30)
