파이썬 2.7과 OpenCV 2.4를 사용하고 있습니다. 나는 원격 기계에서 이미지를 읽고 보여주고 싶다. 그런 다음 라이브러리를 사용하려고합니다. paramiko
. 그러나 파일을 읽을 수 없습니다.파이썬 ssh 읽기 이미지
여기 내 코드입니다. 첫째, 모든 라이브러리와 설정 연결을 가져옵니다
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