Я использую Python 2.7 и OpenCV 2.4. Я хочу прочитать и показать изображение с удаленной машины. Затем я пытаюсь использовать библиотеку paramiko
. Однако я не могу прочитать файл.Python ssh read image
Вот мой код. Во-первых, я импортировать все библиотеки и настройки соединения:
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
Это возвращается **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
_________________________________________________________________________-
Я прошу о помощи, как я могу считывать изображение с другого удаленного устройства. Правильно ли это сделать? Спасибо.
Почему вы ожидаете, что 'imread' (который принимает путь к файлу) будет работать с объектом типа' SFTPFile'? Лучше всего получить двоичный файл из 'SFTPFile', а затем использовать' imdecode' – Miki
@Miki Спасибо за ваш ответ. Как я могу получить двоичный файл (или строку) из 'SFTPFile'? – VICTOR