Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # UDP client with pixels lost of an image
- from PIL import Image
- import pickle
- import socket
- from time import sleep
- from random import randint
- udp_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
- image = Image.open("DR-2.3-smiley.bmp") # Image of test
- width, height = image.size
- pixels_lost = 0
- width, height = image.size
- print("Image size: " + str(width) + " " + str(height))
- #print(width, height)
- size = width * height
- print("Pixels to be sent: " + str(size))
- message = str(size)
- data = message.encode()
- udp_client.sendto(data, ("127.0.0.1", 20001))
- for y in range(height):
- for x in range(width):
- pos = (x, y)
- rgba = image.getpixel(pos)
- message = (pos, rgba)
- data = pickle.dumps(message)
- if randint(0,9) > 0: # random error generator
- udp_client.sendto(data, ("127.0.0.1", 20001))
- else:
- pixels_lost += 1
- sleep(0.001)
- message = ((9,9), (0,0,0,0))
- data = pickle.dumps(message)
- udp_client.sendto(data, ("127.0.0.1", 20001))
Advertisement
Add Comment
Please, Sign In to add comment