Python读取YUV文件,并显示的方法

  

<强> 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文件,并显示的方法