私は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