<强> Python读取YUV格式文件,并使用opencv显示的方法强>
opencv可以读取的图片类型比较多,但大多是比较常见的类型,比如“jpg”和“使用”,但它不能直接读取YUV格式的文件,需要通过python读取YUV文件,并进行相应的转换后,才能被opencv读取,并进行后续相应的处理。
话不多说,直接上程序。
进口cv2 从numpy进口* 导入图片 screenLevels=255.0 def yuv_import(文件名,会变暗,numfrm startfrm): fp=open (filename, rb) blk_size=prod (dim) * 3/2 fp.seek (blk_size * startfrm, 0) Y=[] U=[] V=[] 打印dim [0] 打印dim [1] d00=[0] dim//2 d01=退去[1]//2 打印d00 打印d01 欧美=0((降低[0],退去[1]),uint8,“C”) Ut=0 ((uint8 d00 d01)“C”) Vt=0 ((uint8 d00 d01)“C”) 因为我在范围(numfrm): 米的范围(退去[0]): n的范围(退去[1]): #打印m, n 欧美(m, n)=奥德(fp.read (1)) 米的范围(d00): n的范围(d01): 但[m, n]=奥德(fp.read (1)) 米的范围(d00): n的范围(d01): Vt (m, n)=奥德(fp.read (1)) Y=Y +(欧美) U=U + (Ut) V=V + (Vt) fp.close () 返回(Y, U, V) if __name__==癬_main__”: 宽度=1280 身高=720 data=https://www.yisu.com/zixun/yuv_import (“test.yuv”(高度、宽度),1,0) YY数据[0]=[0] cv2.imshow (“sohow YY) cv2.waitKey (0) >之前如果YUV文件需要转换为公益诉讼的图像格式,那么只需在主函数中,进行稍微的处理。
YY数据[0]=[0] 我=Image.frombytes (“L”, (720、1280), YY.tostring ())另外,如果公益诉讼的形象想转换为opencv的垫格式,只需将公益诉讼转换为矩阵的形式。
im_array=np.array (im) #也可以用np.asarray (im)区别是np.array()是深拷贝,np.asarray()是浅拷贝以上这篇Python读取YUV文件,并显示的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
Python读取YUV文件,并显示的方法