解决VScode远程服务器时opencv和matplotlib无法直接显示图像的问题

解决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、在服务器端

解决VScode远程服务器时opencv和matplotlib无法直接显示图像的问题_第1张图片

export DISPLAY="172.22.205.229:0.0"

3、在本地端安装MobaXterm

解决VScode远程服务器时opencv和matplotlib无法直接显示图像的问题_第2张图片
参数说明:
在这里插入图片描述

4、测试

保持MobaXterm开启的状态下,在VSCode中运行xclock,会显示一个时钟。
解决VScode远程服务器时opencv和matplotlib无法直接显示图像的问题_第3张图片

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()

解决VScode远程服务器时opencv和matplotlib无法直接显示图像的问题_第4张图片

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()

解决VScode远程服务器时opencv和matplotlib无法直接显示图像的问题_第5张图片

你可能感兴趣的:(vscode,opencv,matplotlib)