PyCharm远程调试:解决OpenCV与PIL图片无法显示问题

小石头
小石头
发布时间:2026-10-14 | 6人浏览过
原创

本文详解如何在PyCharm中通过SSH连接远程服务器并正确显示OpenCV或PIL图像。核心步骤包括配置服务器SSH转发、使用Mobaxterm或Xming建立本地X-Server环境,并在PyCharm中设置DISPLAY环境变量。此外,文章还推荐了无需复杂配置的Matplotlib显示方案及防止窗口一闪而过的代码技巧。

PyCharm远程服务器环境基础配置

首先,需确保PyCharm已通过SSH成功连接至远程服务器,并能正常执行远程代码。相关配置步骤可参考外部教程链接https://www.jb51.net/article/173477.htm。

远程图片显示问题

若前述连接配置无误,但使用OpenCV或PIL库时仍无法弹出图片窗口,请按照以下步骤进行排查与修复。

SSH转发与本地X-Server环境搭建

第一步,需在服务器上开启SSH转发服务,以便将图形界面(GUI)请求转发至本地。

vim /etc/ssh/ssh_config

[[a0]]

开启上述配置后,即表示远程转发服务已启用。

其次,需在本地通过SSH连接服务器。推荐使用Mobaxterm,因其内置了X-Server服务,便于处理图形转发。

若使用Windows系统自带的命令行窗口,则需额外安装Xming等X-Server软件以提供图形支持。

在Mobaxterm中输入xclock命令,若成功弹出时钟窗口,则证明GUI转发功能正常。随后输入echo $DISPLAY查看本地处理转发的地址,例如输出localhost:20.0,表明该地址正负责GUI转发,此时需在PyCharm中进行相应配置。

PyCharm环境变量设置与代码验证

最后,打开PyCharm菜单中的Run -> Edit Configurations -> Python -> 选择对应的xx.py脚本。

在Environment variables(环境变量)中,添加DISPLAY=localhost:20.0(请根据实际echo $DISPLAY的输出调整端口号)。

代码测试:


from matplotlib import pyplot as plt
import cv2
from PIL import Image
import numpy as np
img =np.zeros((224,224,3))
plt.imshow(img)
# plt.show()
cv2.imshow("a",img)
cv2.waitKey()

[[a3]]

Matplotlib替代方案与注意事项

后记

经测试发现,使用Matplotlib库展示图片无需上述复杂配置,且plt.imshow()既能接受PIL图像对象,也能直接处理数组数据,使用更为便捷。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表