├── README.md ├── get_image.py └── stream.py /README.md: -------------------------------------------------------------------------------- 1 | # cognex-camera-with-python 2 | 3 | ## pip install telnetlib3 4 | ## pip install pyftpdlib 5 | ## pip install opencv-python 6 | -------------------------------------------------------------------------------- /get_image.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import telnetlib 3 | from ftplib import FTP 4 | import time 5 | import cv2 6 | 7 | # cognex's config 8 | ip = "169.254.89.210" 9 | user = 'admin' 10 | password = '' 11 | 12 | # telnet login 13 | tn = telnetlib.Telnet(ip) 14 | telnet_user = user+'\r\n' 15 | tn.write(telnet_user.encode('ascii')) #the user name is admin 16 | tn.write("\r\n".encode('ascii')) #there is no password - just return - now logged in 17 | #print('Telnet Logged in') 18 | 19 | # capture 20 | tn.write(b"SE8\r\n") 21 | 22 | # ftp login 23 | ftp = FTP(ip) 24 | ftp.login(user) 25 | #print('FTP logged in') 26 | 27 | # show all file in cognex 28 | # files_list = ftp.dir() 29 | # print(files_list) 30 | 31 | # download file from cognex 32 | filename = 'image.bmp' 33 | lf = open(filename, "wb") 34 | ftp.retrbinary("RETR " + filename, lf.write) 35 | lf.close() 36 | 37 | image = cv2.imread('image.bmp') 38 | cv2.imshow('Image', image) 39 | 40 | cv2.waitKey(0) 41 | -------------------------------------------------------------------------------- /stream.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import telnetlib 3 | from ftplib import FTP 4 | import time 5 | import cv2 6 | 7 | # cognex's config 8 | ip = "169.254.89.210" 9 | user = 'admin' 10 | password = '' 11 | 12 | #out = cv2.VideoWriter('output.mp4', -1, 20.0, (640,480)) 13 | 14 | while True: 15 | 16 | start_time = time.time() 17 | tn = telnetlib.Telnet(ip) 18 | telnet_user = user+'\r\n' 19 | tn.write(telnet_user.encode('ascii')) 20 | tn.write("\r\n".encode('ascii')) 21 | 22 | #time.sleep(0.1) 23 | tn.write(b"SE8\r\n") 24 | #time.sleep(0.1) 25 | 26 | 27 | ftp = FTP(ip) 28 | ftp.login(user) 29 | 30 | #ftp.sendcmd('get image.bmp\r\n') 31 | #print("--- %s seconds ---" % (time.time() - start_time)) 32 | 33 | filename = 'image.bmp' 34 | rename = 'image_get.bmp' 35 | lf = open(rename, "wb") 36 | ftp.retrbinary("RETR " + filename, lf.write) 37 | lf.close() 38 | 39 | image = cv2.imread(rename) 40 | cv2.imshow('Image', image) 41 | print("--- %s seconds ---" % (time.time() - start_time)) 42 | #out.write(image) 43 | 44 | if cv2.waitKey(1) & 0xFF == ord('q'): 45 | break 46 | 47 | cv2.destroyAllWindows() 48 | --------------------------------------------------------------------------------