VScodeリモートサーバー使用時にopencvとmatplotlibで画像を直接表示できない問題を解決


問題の説明 : 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 で xクロック を実行すると、時計が表示されます。
ここに画像の説明を挿入します

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

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/guoqingru0311/article/details/132140728