33 lines
973 B
Python
Executable File
33 lines
973 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import os
|
|
import sys
|
|
import json
|
|
import base64
|
|
|
|
def save_image(data_url, fn):
|
|
pref = "data:image/jpeg;base64,"
|
|
if data_url.startswith(pref):
|
|
b = base64.b64decode(data_url[len(pref):])
|
|
ext = 'jpg'
|
|
pref = "data:image/png;base64,"
|
|
if data_url.startswith(pref):
|
|
b = base64.b64decode(data_url[len(pref):])
|
|
ext = 'png'
|
|
fn = f'{fn}.{ext}'
|
|
with open(fn, 'wb') as fd:
|
|
fd.write(b)
|
|
return fn
|
|
|
|
for r, ds, fs in os.walk('raw/camera-frame'):
|
|
for f in fs:
|
|
fn = os.path.join(r, f)
|
|
with open(fn, 'r') as fd:
|
|
data = json.load(fd)
|
|
phone_model = data.get('phone_model', 'unknown')
|
|
session_id = data.get('session_id', 'unknown')
|
|
seq_num = data.get('seq_num', 'unknown')
|
|
fn = os.path.join('data/frames', f'{phone_model}-{session_id}-{seq_num}')
|
|
fn = save_image(data['image_data_url'], fn)
|
|
print(fn)
|