Spaces:
Runtime error
Runtime error
# 1. Generate using StableDiffusionXL https://clipdrop.co/stable-diffusion | |
# 2. Remove background https://clipdrop.co/remove-background | |
# 3. Resize to 512x512 https://www.iloveimg.com/resize-image | |
# (OPTIONAL) | |
# 4. Estimate depth and normal https://omnidata.vision/demo/ (I used Omnidata Normal (with X-TC & 3DCC), and MiDaS Depth) | |
# (OPTIONAL) | |
# 5. Convert depth image from RGB to greyscale | |
def depth_rgb_to_grey(depth_filename): | |
# depth_filename = "image_depth.png" | |
import cv2 | |
import numpy as np | |
# import shutil | |
# shutil.copyfile(depth_filename, depth_filename.replace("_depth", "_depth_orig")) | |
depth = cv2.imread(depth_filename) | |
depth = cv2.cvtColor(depth, cv2.COLOR_BGR2GRAY) | |
mask = ( | |
cv2.resize( | |
cv2.imread(depth_filename.replace("_depth", "_rgba"), cv2.IMREAD_UNCHANGED)[ | |
:, :, -1 | |
], | |
depth.shape, | |
) | |
> 0 | |
) | |
# depth[mask] = (depth[mask] - depth.min()) / (depth.max() - depth.min() + 1e-9) | |
depth = (depth - depth.min()) / (depth.max() - depth.min() + 1e-9) | |
depth[~mask] = 0 | |
depth = (depth * 255).astype(np.uint8) | |
cv2.imwrite(depth_filename, depth) | |
# (OPTIONAL) | |
# 6. Mask normal | |
def normal_mask(normal_filename): | |
# filename = "image_normal.png" | |
import cv2 | |
# import shutil | |
# shutil.copyfile(normal_filename, normal_filename.replace("_normal", "_normal_orig")) | |
normal = cv2.imread(normal_filename) | |
mask = ( | |
cv2.resize( | |
cv2.imread( | |
normal_filename.replace("_normal", "_rgba"), cv2.IMREAD_UNCHANGED | |
)[:, :, -1], | |
normal.shape[:2], | |
) | |
> 0 | |
) | |
normal[~mask] = 0 | |
cv2.imwrite(normal_filename, normal) | |
# 5. Run Zero123 | |
# python launch.py --config configs/zero123.yaml --train data.image_path=./load/images/grootplant_rgba.png | |