安装jupyterlab 和 pptk
pip install jupyterlab
pip install pptk
pip install matplotlib
python -m pip install -U scikit-image
pptk 在ubuntu20 不显示窗口解决方法
https://github.com/heremaps/pptk/issues/3
cd miniconda3/envs/myenv/lib/python3.7/site-packages/pptk/libs/
mv ./libz.so.1 libz.so.1.old
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 .
使用pptk
简单例子
颜色需要归一化到[0,1]
import pptk
import numpy as np
xyz = np.random.rand(100, 3)
rgb = np.random.rand(100, 3)
v = pptk.viewer(xyz)
v.clear()
v.load(xyz)
v.set(point_size=0.01)
v.attributes(rgb)
v.reset()
v.close()
复杂例子
import pptk
import numpy as np
class PPTK_VIEWER:
def __init__(self,point_size=0.001):
self.xyz = np.random.rand(3, 3)
self.rgb = np.random.rand(3, 3)
self.V = pptk.viewer(self.xyz)
self.V.clear()
self.point_size = point_size
self.lookat = self.V.get("lookat")
self.phi = self.V.get("phi")
self.theta = self.V.get("theta")
self.r = self.V.get("r")
self.lookat = [0.0,0.0,0.0]
self.phi = -1.57079625
self.theta = -1.57079625
self.r = 0.5
self.V.set(lookat = self.lookat) #Camera look-at position
self.V.set(phi = self.phi) #Camera azimuthal angle (radians)
self.V.set(theta =self.theta) #Camera elevation angle (radians)
self.V.set(r = self.r) #Camera distance to look-at point
def update(self, xyz,rgb):
self.xyz = xyz
self.rgb = rgb
self.V.load(xyz)
self.V.set(point_size=self.point_size,lookat = self.lookat,phi = self.phi,theta =self.theta,r = self.r,show_grid = False)
self.V.attributes(rgb)
self.V.wait()
self.lookat = self.V.get("lookat")
self.phi = self.V.get("phi")
self.theta = self.V.get("theta")
self.r = self.V.get("r")
selected = self.V.get("selected")
print("selected: ", selected)