guma's picture
Duplicate from radames/PIFu-Clothed-Human-Digitization
c7d7131
raw
history blame
1.9 kB
import numpy as np
def save_samples_truncted_prob(fname, points, prob):
'''
Save the visualization of sampling to a ply file.
Red points represent positive predictions.
Green points represent negative predictions.
:param fname: File name to save
:param points: [N, 3] array of points
:param prob: [N, 1] array of predictions in the range [0~1]
:return:
'''
r = (prob > 0.5).reshape([-1, 1]) * 255
g = (prob < 0.5).reshape([-1, 1]) * 255
b = np.zeros(r.shape)
to_save = np.concatenate([points, r, g, b], axis=-1)
return np.savetxt(fname,
to_save,
fmt='%.6f %.6f %.6f %d %d %d',
comments='',
header=(
'ply\nformat ascii 1.0\nelement vertex {:d}\nproperty float x\nproperty float y\nproperty float z\nproperty uchar red\nproperty uchar green\nproperty uchar blue\nend_header').format(
points.shape[0])
)
def save_samples_rgb(fname, points, rgb):
'''
Save the visualization of sampling to a ply file.
Red points represent positive predictions.
Green points represent negative predictions.
:param fname: File name to save
:param points: [N, 3] array of points
:param rgb: [N, 3] array of rgb values in the range [0~1]
:return:
'''
to_save = np.concatenate([points, rgb * 255], axis=-1)
return np.savetxt(fname,
to_save,
fmt='%.6f %.6f %.6f %d %d %d',
comments='',
header=(
'ply\nformat ascii 1.0\nelement vertex {:d}\nproperty float x\nproperty float y\nproperty float z\nproperty uchar red\nproperty uchar green\nproperty uchar blue\nend_header').format(
points.shape[0])
)