Browse Source
we will later write c# version of viewer for client side for our tracker implementation.master
Georgios Gerontakis
5 years ago
2 changed files with 44 additions and 0 deletions
@ -0,0 +1,22 @@ |
|||
import base64 |
|||
import cv2 |
|||
import zmq |
|||
|
|||
context = zmq.Context() |
|||
footage_socket = context.socket(zmq.PUB) |
|||
footage_socket.connect('tcp://localhost:5555') |
|||
|
|||
camera = cv2.VideoCapture(0) # init the camera |
|||
|
|||
while True: |
|||
try: |
|||
grabbed, frame = camera.read() # grab the current frame |
|||
frame = cv2.resize(frame, (640, 480)) # resize the frame |
|||
encoded, buffer = cv2.imencode('.jpg', frame) |
|||
jpg_as_text = base64.b64encode(buffer) |
|||
footage_socket.send(jpg_as_text) |
|||
|
|||
except KeyboardInterrupt: |
|||
camera.release() |
|||
cv2.destroyAllWindows() |
|||
break |
@ -0,0 +1,22 @@ |
|||
import cv2 |
|||
import zmq |
|||
import base64 |
|||
import numpy as np |
|||
|
|||
context = zmq.Context() |
|||
footage_socket = context.socket(zmq.SUB) |
|||
footage_socket.bind('tcp://*:5555') |
|||
footage_socket.setsockopt_string(zmq.SUBSCRIBE, np.unicode('')) |
|||
|
|||
while True: |
|||
try: |
|||
frame = footage_socket.recv_string() |
|||
img = base64.b64decode(frame) |
|||
npimg = np.fromstring(img, dtype=np.uint8) |
|||
source = cv2.imdecode(npimg, 1) |
|||
cv2.imshow("Stream", source) |
|||
cv2.waitKey(1) |
|||
|
|||
except KeyboardInterrupt: |
|||
cv2.destroyAllWindows() |
|||
break |
Loading…
Reference in new issue