NetworkCam/receive.py
2022-12-19 01:40:24 +03:00

38 lines
841 B
Python

import socket
import numpy as np
import cv2 as cv
addr = ("192.168.0.195", 1111)
buf = 512
width = 640
height = 480
code = b'start'
num_of_chunks = width * height * 3 / buf
if __name__ == '__main__':
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(addr)
print("Start")
while True:
chunks = []
start = False
while len(chunks) < num_of_chunks:
chunk, _ = s.recvfrom(buf)
if start:
chunks.append(chunk)
elif chunk.startswith(code):
start = True
byte_frame = b''.join(chunks)
frame = np.frombuffer(
byte_frame, dtype=np.uint8).reshape(height, width, 3)
cv.imshow('recv', frame)
if cv.waitKey(1) & 0xFF == ord('q'):
break
s.close()
cv.destroyAllWindows()