[Open3D ERROR] GLFW Error: WGL: Failed to make context current解决方案

[Open3D ERROR] GLFW Error: WGL: Failed to make context current的解决方案

  • 报错问题
  • 相关现象
  • 解决方案
    • 具体步骤
    • 总结

报错问题

在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解决方案_第1张图片
[Open3D ERROR] GLFW Error: WGL: Failed to make context current:不支持请求的转换操作
[Open3D ERROR] GLFW Error: WGL: Failed to make context current解决方案_第2张图片
这类报错偶尔出现,有的时候会自动消失,有的时候有会浮现出来。

相关现象

在寻求解决方案的过程中,笔者发现在openCV和openGL中也会出现类似问题;并且问题不局限与python语言环境中,在C++环境下也会出现类似的问题。

在反复查看open3d源代码的情况下,基本可以排除是open3d源代码的问题。考虑是GLFW和WGL拓展的问题。

解决方案

在花费一段时间综合考虑各方面的情形后,笔者将视线转移到了硬件上。
将可视化处理时,显卡是重要因素。

具体步骤

  1. 升级显卡驱动至最新版本。
  2. 运行python和pycharm时强制使用更高性能的显卡,避免使用集成显卡。
    [Open3D ERROR] GLFW Error: WGL: Failed to make context current解决方案_第3张图片
    [Open3D ERROR] GLFW Error: WGL: Failed to make context current解决方案_第4张图片
    [Open3D ERROR] GLFW Error: WGL: Failed to make context current解决方案_第5张图片
    [Open3D ERROR] GLFW Error: WGL: Failed to make context current解决方案_第6张图片至此,问题解决,可以正常使用

总结

进行图像数据及其可视化时尽量使用支持openGL的高性能设备;
出现 ERROR 时也应该适当考虑硬件问题

你可能感兴趣的:(open3d,error,python,opencv,opengl)