radames HF staff commited on
Commit
60f6bf7
1 Parent(s): a9bf5f9

update stereogram method

Browse files
Files changed (1) hide show
  1. app.py +11 -6
app.py CHANGED
@@ -6,16 +6,19 @@ import numpy as np
6
  from PIL import Image, ImageOps
7
  from pathlib import Path
8
  import glob
9
- from autostereogram.sirds_converter import SirdsConverter
10
  from datetime import datetime
 
11
 
12
  feature_extractor = DPTFeatureExtractor.from_pretrained("Intel/dpt-large")
13
  model = DPTForDepthEstimation.from_pretrained("Intel/dpt-large")
14
 
15
- stereo_converter = SirdsConverter()
16
-
17
 
18
  def process_image(image_path):
 
 
 
19
  image_raw = Image.open(Path(image_path))
20
 
21
  image = image_raw.resize(
@@ -38,16 +41,18 @@ def process_image(image_path):
38
  align_corners=False,
39
  ).squeeze()
40
  output = prediction.cpu().numpy()
41
- depth_image = (255 - output * 255 / np.max(output)).astype('uint8')
42
  depth_image_padded = np.array(ImageOps.pad(
43
  Image.fromarray(depth_image), (1280, 720)))
44
 
45
- stereo_image = stereo_converter.convert_depth_to_stereogram_with_sird(
46
- depth_image_padded, False, 0.5).astype(np.uint8)
47
 
48
  stereo_image_pil = Image.fromarray(stereo_image).convert('RGB')
49
  image_name = f'stereo_image_{datetime.now().strftime("%Y%m%d_%H%M%S")}.jpg'
50
  stereo_image_pil.save(image_name)
 
 
51
  return [depth_image_padded, stereo_image, image_name]
52
 
53
 
6
  from PIL import Image, ImageOps
7
  from pathlib import Path
8
  import glob
9
+ from autostereogram.converter import StereogramConverter
10
  from datetime import datetime
11
+ import time
12
 
13
  feature_extractor = DPTFeatureExtractor.from_pretrained("Intel/dpt-large")
14
  model = DPTForDepthEstimation.from_pretrained("Intel/dpt-large")
15
 
16
+ stereo_converter = StereogramConverter()
 
17
 
18
  def process_image(image_path):
19
+ print("\n\n\n")
20
+ print("Processing image:", image_path)
21
+ last_time = time.time()
22
  image_raw = Image.open(Path(image_path))
23
 
24
  image = image_raw.resize(
41
  align_corners=False,
42
  ).squeeze()
43
  output = prediction.cpu().numpy()
44
+ depth_image = (output * 255 / np.max(output)).astype('uint8')
45
  depth_image_padded = np.array(ImageOps.pad(
46
  Image.fromarray(depth_image), (1280, 720)))
47
 
48
+ stereo_image = stereo_converter.convert_depth_to_stereogram_with_thread_pool(
49
+ depth_image_padded, False).astype(np.uint8)
50
 
51
  stereo_image_pil = Image.fromarray(stereo_image).convert('RGB')
52
  image_name = f'stereo_image_{datetime.now().strftime("%Y%m%d_%H%M%S")}.jpg'
53
  stereo_image_pil.save(image_name)
54
+ print(time.time() - last_time)
55
+ print("\n\n\n")
56
  return [depth_image_padded, stereo_image, image_name]
57
 
58