update stereogram method
Browse files
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.
|
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 =
|
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 = (
|
42 |
depth_image_padded = np.array(ImageOps.pad(
|
43 |
Image.fromarray(depth_image), (1280, 720)))
|
44 |
|
45 |
-
stereo_image = stereo_converter.
|
46 |
-
depth_image_padded, False
|
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 |
|