Vid2ShapeAI / app.py
umaradnaan's picture
Create app.py
b06a49c verified
raw
history blame contribute delete
846 Bytes
import gradio as gr
import tempfile
import os
from utils.video_utils import extract_frames
from utils.depth_utils import estimate_depth
from utils.pointcloud_utils import depth_to_pointcloud
def video_to_3d(video):
with tempfile.TemporaryDirectory() as tmpdir:
video_path = os.path.join(tmpdir, "input.mp4")
os.rename(video, video_path)
frames = extract_frames(video_path, tmpdir)
depth_maps = estimate_depth(frames)
ply_path = depth_to_pointcloud(depth_maps, frames, tmpdir)
return ply_path
demo = gr.Interface(
fn=video_to_3d,
inputs=gr.Video(label="Upload Object Video"),
outputs=gr.File(label="Download 3D Model (.ply)"),
title="🎥 Video to 3D Model Generator",
description="Upload a short 360° video of an object to generate a 3D point cloud."
)
demo.launch()