解决VScode远程服务器时opencv和matplotlib无法直接显示图像的问题
- 1、本方案默认本地已经安装了VScode与MobaXterm
- 2、在服务器端
- 3、在本地端安装MobaXterm
- 4、测试
- 5、opencv显示测试(测试过程中需保持MobaXterm开启的状态)
- 6、 matplotlib显示测试(测试过程中需保持MobaXterm开启的状态)
问题描述:在VSCode中通过SSH连接服务器,使用cv2.imshow或plt.show()无法显示图像。
1、本方案默认本地已经安装了VScode与MobaXterm
并且VScode与MobaXterm可以ssh到远程服务器
2、在服务器端
export DISPLAY="172.22.205.229:0.0"
3、在本地端安装MobaXterm
参数说明:
4、测试
保持MobaXterm开启的状态下,在VSCode中运行xclock,会显示一个时钟。
5、opencv显示测试(测试过程中需保持MobaXterm开启的状态)
import cv2 as cv
src = cv.imread("LaSOT/LaSOTBenchmark/bicycle/bicycle-1/img/00000001.jpg")
cv.namedWindow("test",0)
cv.imshow("test",src)
cv.waitKey(0)
cv.destroyAllWindows()
6、 matplotlib显示测试(测试过程中需保持MobaXterm开启的状态)
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
ax = plt.axes(projection='3d')
ax.scatter(np.random.rand(10),np.random.rand(10),np.random.rand(10))
plt.show()