我有两台电脑都运行Windows 10:
- 计算机1运行着anaconda prompt,运行着jupyter notebook作为命令行示例。它作为一个“服务器”示例工作。
- 2号电脑的jupyter notebook运行在网络浏览器中。
这些都是通过SSH隧道与PuTTY连接的。现在我正在通过计算机2运行此代码,但OpenCV打开计算机1上的图像。我如何才能让图像在计算机1上打开?
示例代码(修改自here):
import cv2, numpy as np, random
image = np.zeros((224,224,3))
w, h = image.shape[1], image.shape[0]
image_to_show = np.copy(image)
def rand_pt():
return (random.randrange(w),
random.randrange(h))
finish = False
while not finish:
cv2.imshow("result", image_to_show)
key = cv2.waitKey(0)
if key == ord('p'):
for pt in [rand_pt() for _ in range(10)]:
cv2.circle(image_to_show, pt, 3, (255, 0, 0), -1)
elif key == 27:
#if ESC then finish
finish = True
cv2.destroyAllWindows()
2条答案
按热度按时间cwxwcias1#
假设这两台计算机在同一个网络上,你可以通过一个完整的网络路径访问这个文件(我在这个例子中使用了.txt,但是图像应该是一样的)。
如果计算机不在同一网络上,您可以选择以下选项:
请注意,这些替代方案将需要相当多的devops工作,并且与本地阅读图像相比,速度会有非常明显的下降。
如果您要打开一个大数据集或处理大图像,请考虑在计算机2中保留图像的单独副本。否则,在运行模型时会产生巨大的开销
cbjzeqam2#
在计算机上打开jupyter notebook,然后使用Pillow在屏幕上显示图像。这需要远程连接Jupyter,方法如下:https://gist.github.com/wklchris/6e7fac67d8a22a348f3e6b6c75c0836e将jupyter连接到ssh服务器后,只需将cv2图像转换为pillow,然后显示它: