ImgToConv2dBin.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import re
  2. import time
  3. import cv2
  4. import numpy as np
  5. import random
  6. preamble = 0xE1E4C312
  7. moduleId = 0x4cd2e19c
  8. jobId = 0x12345678
  9. size = 224
  10. kernel = 5
  11. border = int(kernel/2)
  12. sizeWithBorder = size+2*border
  13. pixels = sizeWithBorder**2
  14. image = cv2.imread("Test_card.png")
  15. image = cv2.resize(image, (size, size))
  16. image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
  17. image = cv2.copyMakeBorder(image, border, border, border, border, cv2.BORDER_REPLICATE)
  18. cs = moduleId + jobId + np.sum(image)
  19. csc = 2**32 - cs % (2**32)
  20. if csc == 2**32:
  21. csc = 0
  22. delay = 0
  23. with open("workspace/complete-bd/complete-bd.sim/sim_1/behav/xsim/input.txt", "w") as inFile:
  24. inFile.write("{:d} ns {:032b}\n".format(delay, preamble))
  25. inFile.write("{:d} ns {:032b}\n".format(delay, jobId))
  26. inFile.write("{:d} ns {:032b}\n".format(delay, moduleId))
  27. for i in range(pixels):
  28. y, x = int(i / sizeWithBorder), i % sizeWithBorder
  29. val = image[y][x]
  30. inFile.write("{:d} ns {:032b}\n".format(delay, val))
  31. inFile.write("{:d} ns {:032b}\n".format(delay, csc))
  32. with open("workspace/complete-bd/complete-bd.sim/sim_1/behav/xsim/outputTimings.txt", "w") as inFile:
  33. for i in range(4 + pixels):
  34. inFile.write("{:d} ns\n".format(0))