我在PCLVisualizer类的官方PCL文档中遵循这个教程:
我在键盘获取方面遇到了问题:当我选择渲染窗口,在那里显示点云,并尝试按"r“或"q”时,什么也没有发生,当我尝试按下鼠标左键时,显示以下文本:
Left mouse button released at position (413, 475)
并引发以下错误(在运行时):
Assertion failed: (px != 0), function operator->, file /usr/local/include/boost/smart_ptr/shared_ptr.hpp, line 687.
Ab
我需要创建这个软件光栅,给定投影(P)、视图(V)和模型(M)矩阵,可以从给定的角度以位图格式(单色位图)从给定的角度创建点云(pc)的2D图像。
我已经把数学记下来了(事情似乎大部分都在进行中):
转换点云的点pc' = (P x V x M) x pc (注意点云已经在同构系统中)
对于每个点,用它的w除以所有组件(同时要小心地丢弃w接近于零的点。
丢弃属于视域之外的点(通过使用描述的P方法从中提取锥面)
将每个点的x和y坐标转换为使用(x + 1) * imageWidth / 2和(-y + 1) * imageHeight / 2 (具有正确的y坐标)屏幕坐标