我正在尝试记录kinectv2数据以解决我试图解决的图像分类问题。有什么方法可以记录kinectv2数据?
我尝试使用咸菜保存深度数据,但是由于libfreenect2
库中没有Frame类的__reduce__方法,因此遇到错误。
frames = listener.waitForNewFrame()
depth = frames["depth"]
with open("captures/frame_" + str(i) + "_depth.obj", 'w') as file:
pickle.dump(depth, file)
with open("captures/frame_" + str(i) + "_depth.obj", 'r') as file:
depth = pickle.load(file)
我遇到了给定的错误:
TypeError:由于不重要的__cinit__,所以没有默认的__reduce__
答案 0 :(得分:0)
您的两个选项是:
使该类可腌制。这涉及编辑libfreenect2的Cython代码。可能最可行的方法是add a __reduce__
method,返回Frame
构造函数和一个参数元组。
只需保存帧数据即可-Frame
有一个asarray
function可以获取一个Numpy数组,并且有很多选项可以保存。这可能是最简单的方法。当您要加载它时,只需加载Numpy数组并使用它调用框架构造函数。