yanranxiaoxi commited on
Commit
535d1a1
·
verified ·
1 Parent(s): e314b32

chore: planes to PIL image

Browse files
Files changed (1) hide show
  1. app.py +11 -9
app.py CHANGED
@@ -7,6 +7,7 @@ import trimesh
7
  import mcubes
8
  import imageio
9
  from torchvision.utils import save_image
 
10
  from PIL import Image
11
  from transformers import AutoModel, AutoConfig
12
  from rembg import remove, new_session
@@ -183,6 +184,7 @@ def generate_mesh(image, source_size=512, render_size=384, mesh_size=512, export
183
 
184
  with torch.no_grad():
185
  planes = model_wrapper.forward(image, source_camera)
 
186
 
187
  if export_mesh:
188
  grid_out = model_wrapper.model.synthesizer.forward_grid(planes=planes, grid_size=mesh_size)
@@ -196,7 +198,7 @@ def generate_mesh(image, source_size=512, render_size=384, mesh_size=512, export
196
  mesh_path = "xiaoxis_mesh.obj"
197
  mesh.export(mesh_path, 'obj')
198
 
199
- return planes, mesh_path
200
 
201
  if export_video:
202
  render_cameras = _default_render_cameras(batch_size=1).to(model_wrapper.device)
@@ -220,23 +222,23 @@ def generate_mesh(image, source_size=512, render_size=384, mesh_size=512, export
220
  video_path = "xiaoxis_video.mp4"
221
  imageio.mimwrite(video_path, frames, fps=fps)
222
 
223
- return planes, video_path
224
 
225
- return planes, None
226
 
227
  return None, None
228
 
229
  def step_1_generate_planes(image):
230
- planes, _ = generate_mesh(image)
231
- return planes
232
 
233
  def step_2_generate_obj(image):
234
- planes, mesh_path = generate_mesh(image, export_mesh=True)
235
- return planes, mesh_path, mesh_path
236
 
237
  def step_3_generate_video(image):
238
- planes, video_path = generate_mesh(image, export_video=True)
239
- return planes, video_path
240
 
241
  # 从 assets 文件夹中设置示例文件,并限制最多读取 10 个文件
242
  example_folder = "assets"
 
7
  import mcubes
8
  import imageio
9
  from torchvision.utils import save_image
10
+ import torchvision.transforms import ToPILImage
11
  from PIL import Image
12
  from transformers import AutoModel, AutoConfig
13
  from rembg import remove, new_session
 
184
 
185
  with torch.no_grad():
186
  planes = model_wrapper.forward(image, source_camera)
187
+ planes_pil_image = ToPILImage(planes)
188
 
189
  if export_mesh:
190
  grid_out = model_wrapper.model.synthesizer.forward_grid(planes=planes, grid_size=mesh_size)
 
198
  mesh_path = "xiaoxis_mesh.obj"
199
  mesh.export(mesh_path, 'obj')
200
 
201
+ return planes_pil_image, mesh_path
202
 
203
  if export_video:
204
  render_cameras = _default_render_cameras(batch_size=1).to(model_wrapper.device)
 
222
  video_path = "xiaoxis_video.mp4"
223
  imageio.mimwrite(video_path, frames, fps=fps)
224
 
225
+ return planes_pil_image, video_path
226
 
227
+ return planes_pil_image, None
228
 
229
  return None, None
230
 
231
  def step_1_generate_planes(image):
232
+ planes_pil_image, _ = generate_mesh(image)
233
+ return planes_pil_image
234
 
235
  def step_2_generate_obj(image):
236
+ planes_pil_image, mesh_path = generate_mesh(image, export_mesh=True)
237
+ return planes_pil_image, mesh_path, mesh_path
238
 
239
  def step_3_generate_video(image):
240
+ planes_pil_image, video_path = generate_mesh(image, export_video=True)
241
+ return planes_pil_image, video_path
242
 
243
  # 从 assets 文件夹中设置示例文件,并限制最多读取 10 个文件
244
  example_folder = "assets"