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