showYUV422.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/usr/bin/python3
  2. import pygame
  3. import pygame.gfxdraw
  4. import sys
  5. import signal
  6. import readYUV422
  7. import argparse
  8. parser = argparse.ArgumentParser()
  9. parser.add_argument('-p','--port',metavar='port',default='/dev/ttyACM0',type=str,help='serial port')
  10. parser.add_argument('-c','--colour',action='store_true',help='enable colours')
  11. args = parser.parse_args()
  12. port = args.port
  13. colSelect = 1 if args.colour else 0
  14. def signal_handler(sig,frame):
  15. pygame.quit()
  16. sys.exit(0)
  17. signal.signal(signal.SIGINT, signal_handler)
  18. pygame.init()
  19. display_width = 320
  20. display_height = 240
  21. image = pygame.display.set_mode((display_width,display_height))
  22. pygame.display.set_caption("Image")
  23. def showImage():
  24. index = 0
  25. bitmap = readYUV422.readImage(port_dev=port,width=display_width,height=display_height,colour=colSelect)
  26. for y in range(display_height):
  27. for x in range(display_width):
  28. pygame.gfxdraw.pixel(image, x, y, bitmap[index])
  29. index += 1
  30. pygame.display.update()
  31. while True:
  32. showImage()
  33. for event in pygame.event.get():
  34. if event.type == pygame.QUIT:
  35. pygame.quit()
  36. sys.exit(0)