Download tddfa/Sim3DR/Sim3DR.py from ozyman/fasd: direct link, hf CLI and curl.
- Browser
- Download file 963 Bytes
-
https://huggingface.co/spaces/ozyman/fasd/resolve/main/tddfa/Sim3DR/Sim3DR.py
- Command line
-
hf download hf://spaces/ozyman/fasd/tddfa/Sim3DR/Sim3DR.py
-
curl -L -o Sim3DR.py https://huggingface.co/spaces/ozyman/fasd/resolve/main/tddfa/Sim3DR/Sim3DR.py
963 Bytes
| # coding: utf-8 | |
| from . import _init_paths | |
| import numpy as np | |
| import Sim3DR_Cython | |
| def get_normal(vertices, triangles): | |
| normal = np.zeros_like(vertices, dtype=np.float32) | |
| Sim3DR_Cython.get_normal(normal, vertices, triangles, vertices.shape[0], triangles.shape[0]) | |
| return normal | |
| def rasterize(vertices, triangles, colors, bg=None, | |
| height=None, width=None, channel=None, | |
| reverse=False): | |
| if bg is not None: | |
| height, width, channel = bg.shape | |
| else: | |
| assert height is not None and width is not None and channel is not None | |
| bg = np.zeros((height, width, channel), dtype=np.uint8) | |
| buffer = np.zeros((height, width), dtype=np.float32) - 1e8 | |
| if colors.dtype != np.float32: | |
| colors = colors.astype(np.float32) | |
| Sim3DR_Cython.rasterize(bg, vertices, triangles, colors, buffer, triangles.shape[0], height, width, channel, | |
| reverse=reverse) | |
| return bg | |