Разобрать данные и представить изображение PNG

1

У меня есть файл (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)
Теги:
file
computer-vision
yuv

1 ответ

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 будут высотой и шириной

  • 0
    Я сделал несколько изменений. Вместо fromstring я использовал frombytes. Кроме того, когда у меня нет размера файла, как у меня в этом случае, как это сделать? Я пытался использовать imgsize = rawData.size, но это не работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню