在Python环境下import open3d库,运行含有如下代码时
o3d.visualization.draw_geometries()
当使用鼠标移动点云模型会闪退,并出现如图所示的两种错误:
[Open3D ERROR] GLFW Error: WGL: Failed to make context current:句柄无效
[Open3D ERROR] GLFW Error: WGL: Failed to make context current:不支持请求的转换操作
这类报错偶尔出现,有的时候会自动消失,有的时候有会浮现出来。
在寻求解决方案的过程中,笔者发现在openCV和openGL中也会出现类似问题;并且问题不局限与python语言环境中,在C++环境下也会出现类似的问题。
在反复查看open3d源代码的情况下,基本可以排除是open3d源代码的问题。考虑是GLFW和WGL拓展的问题。
在花费一段时间综合考虑各方面的情形后,笔者将视线转移到了硬件上。
将可视化处理时,显卡是重要因素。
进行图像数据及其可视化时尽量使用支持openGL的高性能设备;
出现 ERROR 时也应该适当考虑硬件问题