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 |
|