format
This commit is contained in:
parent
eaf7294d06
commit
e7ab3b6c80
28
decode.py
28
decode.py
|
@ -5,10 +5,8 @@ import numpy as np
|
||||||
from tqdm import tqdm
|
from tqdm import tqdm
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
import pcapng
|
import pcapng
|
||||||
from struct import unpack
|
from struct import unpack
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
from PIL import Image, ImageDraw
|
|
||||||
import cv2
|
import cv2
|
||||||
|
|
||||||
|
|
||||||
|
@ -40,6 +38,7 @@ def parse(data):
|
||||||
ret['data'] = data[hdr:]
|
ret['data'] = data[hdr:]
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
df = pd.DataFrame([parse(d) for d in raw])
|
df = pd.DataFrame([parse(d) for d in raw])
|
||||||
df2 = df[[c for c in df.columns if c != 'data']]
|
df2 = df[[c for c in df.columns if c != 'data']]
|
||||||
|
|
||||||
|
@ -60,33 +59,36 @@ def getframes(df):
|
||||||
|
|
||||||
|
|
||||||
def image16(frame, width, height, pixelformat='>H'):
|
def image16(frame, width, height, pixelformat='>H'):
|
||||||
return [Image.fromarray(np.frombuffer(frame, dtype=pixelformat).reshape(width, height)) for frame in frames if len(frame) == 2 * width * height]
|
return [
|
||||||
|
Image.fromarray(np.frombuffer(frame, dtype=pixelformat).reshape(width, height)) for frame in frames
|
||||||
|
if len(frame) == 2 * width * height
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def showvideo(images):
|
def showvideo(images):
|
||||||
# wip
|
# wip
|
||||||
videodims = images[0].size
|
videodims = images[0].size
|
||||||
fourcc = cv2.VideoWriter_fourcc(*'avc1')
|
fourcc = cv2.VideoWriter_fourcc(*'avc1')
|
||||||
video = cv2.VideoWriter("test.mp4",fourcc, 60,videodims)
|
video = cv2.VideoWriter("test.mp4", fourcc, 60, videodims)
|
||||||
img = Image.new('RGB', videodims, color = 'darkred')
|
img = Image.new('RGB', videodims, color='darkred')
|
||||||
#draw stuff that goes on every frame here
|
# draw stuff that goes on every frame here
|
||||||
for i in range(0,60*60):
|
for i in range(0, 60*60):
|
||||||
imtemp = img.copy()
|
imtemp = img.copy()
|
||||||
# draw frame specific stuff here.
|
# draw frame specific stuff here.
|
||||||
video.write(cv2.cvtColor(np.array(imtemp), cv2.COLOR_RGB2BGR))
|
video.write(cv2.cvtColor(np.array(imtemp), cv2.COLOR_RGB2BGR))
|
||||||
video.release()
|
video.release()
|
||||||
|
|
||||||
#def shape(frames, width, height, mode='RGB'):
|
# def shape(frames, width, height, mode='RGB'):
|
||||||
# return [Image.frombytes('RGB', (width, height), frame) for frame in frames if len(frame) == width * height * 3]
|
# return [Image.frombytes('RGB', (width, height), frame) for frame in frames if len(frame) == width * height * 3]
|
||||||
|
|
||||||
|
|
||||||
frames = getframes(df)
|
frames = getframes(df)
|
||||||
images = image16(frames, 384, 288)
|
images = image16(frames, 384, 288)
|
||||||
for i, img in enumerate(tqdm(images)):
|
for i, img in enumerate(tqdm(images)):
|
||||||
img.save(f'{i:04}.png')
|
img.save(f'{i:04}.png')
|
||||||
#frame = b''.join(df.iloc[:32]['data'])
|
# frame = b''.join(df.iloc[:32]['data'])
|
||||||
#Image.frombytes('RGB', (288, 256), frame).show()
|
# Image.frombytes('RGB', (288, 256), frame).show()
|
||||||
start_len = len(b'T=(-1.665884e-08)*X^4+(1.347094e-05)*X^3+(-4.396264e-03)*X^2+(9.506939e-01)*X+(-6.353247e+01)\r\n ')
|
start_len = len(b'T=(-1.665884e-08)*X^4+(1.347094e-05)*X^3+(-4.396264e-03)*X^2+(9.506939e-01)*X+(-6.353247e+01)\r\n')
|
||||||
# 250 bytes at start of frame
|
# 250 bytes at start of frame
|
||||||
|
|
||||||
equations = {x[:250].decode().strip() for x in df[df.part == 0]['data']}
|
equations = {x[:250].decode().strip() for x in df[df.part == 0]['data']}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user