解析数据并显示PNG图片

时间:2018-06-20 02:33:51

标签: python file computer-vision yuv

我有一个文件(rawbytes.data)。它包含YUV NV12格式的原始字节。它包含一帧灰度图像(640x480)。我将如何解析此数据文件并显示png?

.data文件在Sublime Text中显示如下:

0000 0000 0000 0000 6c05 0000 8002 0000 e001 0000 0707 0807 0808 0a0b 0e0f 1112 1515 1512 120f 0f0d 0c0e 0e10 1011 1110 0f0d 0e0b 0b0c 0e0e 0f0d 0c0e 0c0c 0b0a 0908 0a0a 0a0a 0908 0a08 0808 0708 0809 0809 0b09 0b09 0b0f 1214 1416 1413 1112 0f09 0809 0c0e 1010 1111 1110 0e0e 0d0c 0a08 0807 0708 0708 0707 0708 0606 0707 0707 0807 0708 0708 0807 0707 0708 0807 0808 0707 0707 0807 0808 0706 0707 0807 0807 0807 0707 0807 0707 0808 0808 0708 0706 0707 0807 0708 0808 0808 0808 0708 0808 0807 0808 0708 0807 0809 0707 0908 0808 0808 0908 0708 0707 0807 0808 0708 0707 0808 0708 0809 0808 0708 0708 0707 0808 0808 0707 0707 0708 0807 0809 0708 0808 0809 0908 0807 0809 0908 0808 0808 0808 0808 0809 0808 0809 0808 0808 0808 0908 0808 0908 0908 0909 0809 0908 0808 0708 0809 0909 0909 0809 0908 0908 0809 0909 0809 0909 0808 0808 0809 0808 0909 0808 0709 0808 0808 0809 0809 0809 0808

我试图使用python在'rb'模式下打开文件并将其在'wb'中写入png文件,但是不起作用。

    with open('rawbytes.data', 'rb') as f:
        data = f.read()

    with open('picture_out.png', 'wb') as f:
        f.write(data)

1 个答案:

答案 0 :(得分:0)

尝试使用以下方法将原始数据转换为png:

rawData = open("foo.raw" 'rb').read()
imgSize = (h,w)
img = Image.fromstring('L', imgSize, rawData, 'raw', 'F;16')
img.save("foo.png")

其中h和w分别是高度和宽度