Advertisement
milanmetal

[Python] Image over TCP/IP through AXIDMA on FPGA and back

Sep 16th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.10 KB | None | 0 0
  1. import time
  2. import socket  # used for TCP/IP communication
  3. import numpy as np
  4.  
  5. from PIL import Image
  6.  
  7. TCP_IP = '10.42.0.94'
  8. TCP_PORT = 7
  9.  
  10. BUFFER_SIZE = 1000
  11.  
  12. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  13. s.connect((TCP_IP, TCP_PORT))
  14.  
  15. print("Connected. Test started...")
  16.  
  17. im = Image.open('pivcuga.jpg')
  18. im.show()
  19.  
  20. arr = np.array(im, dtype='u1').flatten()
  21. package_count = len(arr) / BUFFER_SIZE
  22. img_chunks = np.split(arr, package_count)
  23.  
  24. print("-- Image size: " + str(len(arr)) + " bytes, packet count: " + str(len(img_chunks)))
  25.  
  26. returned_img = []
  27.  
  28. print("-- Sent image size: " + str(len(arr)) + " bytes" )
  29. for i in range(0, package_count):
  30.     s.send(img_chunks[i].tostring())
  31.        
  32.     data = s.recv(BUFFER_SIZE)
  33.     recv_data = np.fromstring(data, dtype='u1')
  34.     returned_img.append(recv_data)
  35.  
  36. print("Done!")
  37.  
  38. img_arr = np.asarray(returned_img)
  39. flatten_img = np.ndarray.flatten(img_arr)
  40. img_arr = np.reshape(flatten_img, (1000, 1000, 3))
  41.  
  42. print("-- Returned len: " + str(len(img_arr)) + ", flatten len: "  + str(len(flatten_img)))
  43. img = Image.fromarray(img_arr)
  44. img.show()
  45.  
  46. s.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement