Python ssh 读取图像
Python ssh read image
我正在使用 Python 2.7 和 OpenCV 2.4。我想读取并显示来自远程机器的图像。然后,我尝试使用库 paramiko
。但是,我无法读取文件。
这是我的代码。首先,我导入所有库并设置连接:
import paramiko
import cv2
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect("XXX.XXX.XXX",22,username="NAME",password='PW',timeout=4)
其次,我打开一个 SFTP 会话并打开目标图像:
sftp = s.open_sftp()
remote_file = sftp.open('/home/frame/image.jpg')
我尝试打印 remote_file
: print remote_file
它returns**paramiko.sftp_file.SFTPFile object at 0x000000000572AC50**
最后,我尝试读取并显示图像:
img = cv2.imread(remote_file)
cv2.imshow("image", img)
但是,出现错误:
File "ssh.py", line 25, in <module>
img = cv2.imread(remote_file)
TypeError: expected string or Unicode object, SFTPFile found
_________________________________________________________________________-
我正在寻求帮助如何从另一台远程机器读取图像。我的做法是否正确?谢谢。
这里有一个解决方案:
import numpy as np
...
sftp = s.open_sftp()
with sftp.open('/home/frame/image.jpg') as f:
img = cv2.imdecode(np.fromstring(f.read(), np.uint8), 1)
cv2.imshow("image", img)
cv2.waitKey(0)
我正在使用 Python 2.7 和 OpenCV 2.4。我想读取并显示来自远程机器的图像。然后,我尝试使用库 paramiko
。但是,我无法读取文件。
这是我的代码。首先,我导入所有库并设置连接:
import paramiko
import cv2
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect("XXX.XXX.XXX",22,username="NAME",password='PW',timeout=4)
其次,我打开一个 SFTP 会话并打开目标图像:
sftp = s.open_sftp()
remote_file = sftp.open('/home/frame/image.jpg')
我尝试打印 remote_file
: print remote_file
它returns**paramiko.sftp_file.SFTPFile object at 0x000000000572AC50**
最后,我尝试读取并显示图像:
img = cv2.imread(remote_file)
cv2.imshow("image", img)
但是,出现错误:
File "ssh.py", line 25, in <module> img = cv2.imread(remote_file) TypeError: expected string or Unicode object, SFTPFile found
_________________________________________________________________________-
我正在寻求帮助如何从另一台远程机器读取图像。我的做法是否正确?谢谢。
这里有一个解决方案:
import numpy as np
...
sftp = s.open_sftp()
with sftp.open('/home/frame/image.jpg') as f:
img = cv2.imdecode(np.fromstring(f.read(), np.uint8), 1)
cv2.imshow("image", img)
cv2.waitKey(0)