Beispiel #1
0
def read_barcode():
    vc = cv2.VideoCapture(0)
    vc.set(3, 640) #set width
    vc.set(4, 480) #set height

    if not vc.isOpened():
        print('Camera is not ready.')
        return

    host_ip = '192.168.8.84' 
    npSocket = NumpySocket()
    npSocket.startClient(host_ip, 9999)

    socket_thread = SocketThread('SocketThread', npSocket)
    socket_thread.start() 

    while vc.isOpened():
        
        ret, f = vc.read()
        cv2.imshow("RPi Reader", f)
        frame = imresize(f, .5)

        key = cv2.waitKey(20)
        if key == 27 or key == ord('q'):   
            socket_thread.isRunning = False
            socket_thread.join() 
            break

        if not socket_thread.is_alive():
            break
        
        try:
            frame_queue.put_nowait(frame)
        except:
            # Clear unused frames
            try:
                while True:
                    frame_queue.get_nowait()
            except:
                pass

    frame_queue.close()
    frame_queue.join_thread()
    vc.release()
Beispiel #2
0
async def main():
    global frames

    # host_ip = '172.27.3.5'
    host_ip = 'localhost'

    receivers = []
    ack_senders = []

    for i in range(THREADS):
        tmp = NumpySocket()
        tmp.start_server(9999 - i)
        receivers.append(tmp)

    for i in range(THREADS):
        tmp = NumpySocket()
        await tmp.start_client(host_ip, 8000 + i)
        ack_senders.append(tmp)

    # Read until video is completed
    start = time.time()
    fps = 0

    while True:
        # Capture frame-by-frame
        await asyncio.gather(
            *[rec(receivers[i], ack_senders[i], i) for i in range(THREADS)],
            return_exceptions=False)
        frame = np.hstack(tuple(frames))
        cv2.imshow('Frame', frame)

        fps += 1

        # Press Q on keyboard to  exit
        if cv2.waitKey(2) & 0xFF == ord('q'):
            break
        # if keyboard.is_pressed('command'):
        #     break

    # print(fps)
    print(frame.shape)
    print(fps / (time.time() - start))

    for i in range(THREADS):
        receivers[i].end_server()
    print("Closing")
Beispiel #3
0
async def main():
    global frames
    # host_ip = '172.27.3.3'
    # host_ip = '172.27.3.38'
    host_ip = 'localhost'

    cap = cv2.VideoCapture(0)

    senders = []
    for i in range(THREADS):
        tmp = NumpySocket()
        await tmp.start_client(host_ip, 9999 - i)
        senders.append(tmp)

    receivers = []
    for i in range(THREADS):
        tmp = NumpySocket()
        tmp.start_server(8000 + i)
        receivers.append(tmp)

    # Read until video is completed
    n_frame = 0
    while cap.isOpened():
        ret, frame = cap.read()
        ref_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        frame_resize = ref_frame[::2, ::2]
        n_frame += 1
        h, w = frame_resize.shape
        w = w // THREADS
        frames = np.array_split(frame_resize, THREADS, axis=1)
        try:
            # await asyncio.gather(*[senders[i].send_numpy(frames[i]) for i in range(THREADS)],
            #                      return_exceptions=False)
            await asyncio.gather(
                *[send(senders[i], receivers[i], i) for i in range(THREADS)],
                return_exceptions=False)
        except Exception:
            break
        for i in range(THREADS):
            receivers[i].receive_ack()

    # When everything done, release the video capture object
    for i in range(THREADS):
        receivers[i].end_server()
    cap.release()
Beispiel #4
0
from numpysocket import NumpySocket
import cv2
import mss
import time
import numpy

host_ip = 'localhost'  # change me
npSocket = NumpySocket()
npSocket.startServer(host_ip, 9999)

with mss.mss() as sct:
    # Part of the screen to capture
    monitor = {"top": 40, "left": 0, "width": 800, "height": 640}

    while "Screen capturing":
        last_time = time.time()

        # Get raw pixels from the screen, save it to a Numpy array
        img = numpy.array(sct.grab(monitor))

        '''
        # Display the picture
        cv2.imshow("OpenCV/Numpy normal", img)

        # Display the picture in grayscale
        # cv2.imshow('OpenCV/Numpy grayscale',
        #            cv2.cvtColor(img, cv2.COLOR_BGRA2GRAY))

        print("fps: {}".format(1 / (time.time() - last_time)))

        # Press "q" to quit
Beispiel #5
0
from numpysocket import NumpySocket
import cv2

host_ip = 'localhost'  # change me
cap = cv2.VideoCapture(0)
npSocket = NumpySocket()
npSocket.startServer(host_ip, 9999)

# Read until video is completed
while (cap.isOpened()):
    ret, frame = cap.read()
    ref_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    frame_resize = ref_frame[::2, ::2]
    if ret is True:
        npSocket.sendNumpy(frame_resize)
    else:
        break
# When everything done, release the video capture object
npSocket.endServer()
cap.release()
Beispiel #6
0
#!/usr/bin/python3

import logging
from time import sleep
import numpy as np
from numpysocket import NumpySocket

logger = logging.getLogger('simple server')
logger.setLevel(logging.INFO)

host_ip = 'localhost'  # change me

npSocket = NumpySocket()
while (True):
    try:
        npSocket.start_client(host_ip, 9999)
        break
    except:
        logger.warning("connection failed, trying again.")
        sleep(1)
        continue

frame = np.arange(1000)
logger.info("sending frame: ")
logger.info(frame)
npSocket.send_numpy(frame)

try:
    npSocket.endServer()
except OSError as err:
    logging.error("client already disconnected")
Beispiel #7
0
# ## From https://stackoverflow.com/questions/30988033/sending-live-video-frame-over-network-in-python-opencv
# import socket
from numpysocket import NumpySocket
import cv2

npSocket = NumpySocket()
npSocket.start_server(9999)

# Read until video is completed
while (True):
    # Capture frame-by-frame
    frame = npSocket.receive_numpy()
    cv2.imshow('Frame', frame)

    # Press Q on keyboard to  exit
    if cv2.waitKey(25) & 0xFF == ord('q'):
        break

npSocket.endServer()
print("Closing")
Beispiel #8
0
#!/usr/bin/python3

import logging
from time import sleep
import numpy as np
from numpysocket import NumpySocket

logger = logging.getLogger('simple client')
logger.setLevel(logging.INFO)

host_ip = 'localhost'  # change me

npSocket = NumpySocket()
while(True):
    try:
        npSocket.startClient(host_ip, 9999)
        break
    except:
        logger.warning("connection failed, make sure `server` is running.")
        sleep(1)
        continue

logger.info("connected to server")

frame = np.arange(1000)

logger.info("sending numpy array:")
logger.info(frame)
npSocket.send(frame)

logger.info("array sent, closing connection")
Beispiel #9
0
from numpysocket import NumpySocket
import cv2
import time
import threading

print('ata')
#host_ip = '192.168.1.143'  # change me

#host_ip = '172.27.3.3'
host_ip = '192.168.1.143'

cap = cv2.VideoCapture(0)
npSocket = NumpySocket()
npSocket.startServer(host_ip, 9999)

time.sleep(2)

thread_socket = NumpySocket()
thread_socket.startServer(host_ip, 9900)

recieve_socket = NumpySocket()
recieve_socket.startClient(9001)


def thread_function(my_socket, data):

    my_socket.sendNumpy(data)


# Read until video is completed
n_frame = 0
Beispiel #10
0
from numpysocket import NumpySocket
import cv2

cap = cv2.VideoCapture(0)
npSocket = NumpySocket()
npSocket.startServer(9999)

# Read until video is completed
while (cap.isOpened()):
    ret, frame = cap.read()
    ref_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    frame_resize = ref_frame[::2, ::2]
    if ret is True:
        try:
            npSocket.send(frame_resize)
        except:
            break
    else:
        break
# When everything done, release the video capture object
npSocket.close()
cap.release()
Beispiel #11
0
#!/usr/bin/python3

import logging
import numpy as np
from numpysocket import NumpySocket

logger = logging.getLogger('simple server')
logger.setLevel(logging.INFO)

npSocket = NumpySocket()

logger.info("starting server, waiting for client")
npSocket.startServer(9999)

frame = npSocket.recieve()
logger.info("array recieved:")
logger.info(frame)

logger.info("closing connection")
try:
    npSocket.close()
except OSError as err:
    logging.error("server already disconnected")
Beispiel #12
0
# ## From https://stackoverflow.com/questions/30988033/sending-live-video-frame-over-network-in-python-opencv
# import socket
import numpy as np
from numpysocket import NumpySocket
import cv2
import time
import threading



npSocket = NumpySocket()

npSocket.startClient(9999)

thread_socket = NumpySocket()
thread_socket.startClient(9900)




host_ip = '192.168.1.134'
send_socket = NumpySocket()
send_socket.startServer(host_ip, 9001)



done = False
first_part = 'ata'
def thread_function(my_socket):
    global first_part
    while not done:
Beispiel #13
0
import cv2
import time
import json
import dbr


def get_time():
    localtime = time.localtime()
    capturetime = time.strftime("%Y%m%d%H%M%S", localtime)
    return capturetime


# Get the license of Dynamsoft Barcode Reader from https://www.dynamsoft.com/CustomerPortal/Portal/Triallicense.aspx
dbr.initLicense('LICENSE KEY')

npSocket = NumpySocket()
npSocket.startServer(9999)

# Receive frames for barcode detection
while (True):
    try:
        frame = npSocket.recieveNumpy()
        # cv2.imshow('PC Reader', frame)
        results = dbr.decodeBuffer(
            frame, 0x3FF | 0x2000000 | 0x4000000 | 0x8000000 | 0x10000000)
        out = {}
        out['results'] = results

        # Send barcode results to Raspberry Pi
        npSocket.sendJSON({'results': results})
    except:
# ## From https://stackoverflow.com/questions/30988033/sending-live-video-frame-over-network-in-python-opencv
# import socket
from numpysocket import NumpySocket

npSocket = NumpySocket()
npSocket.startClient(9999)

# Read until video is completed
while (True):
    # Capture frame-by-frame
    frame = npSocket.recieveNumpy()
    print(frame)

npSocket.endServers()
print("Closing")
Beispiel #15
0
from PIL import Image
import struct
import re
import utils
from transformer_net import TransformerNet
from vgg import Vgg16
import cv2
import time
import pafy
from mpi4py import MPI
comm = MPI.COMM_WORLD
size = comm.size #number of processors
rank = comm.rank #calling process rank
from numpysocket import NumpySocket
host_ip = '140.113.69.226'  # change me
npSocket = NumpySocket()
npSocket.startServer(host_ip, 8014)

def stylize(frame):
    device = torch.device("cuda")

    content_image = frame
    content_transform = transforms.Compose([
        transforms.ToTensor(),
        transforms.Lambda(lambda x: x.mul(255))
    ])
    content_image = content_transform(content_image)
    content_image = content_image.unsqueeze(0).to(device)

    
Beispiel #16
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Dec 11 19:30:20 2018

@author: yang
"""
from numpysocket import NumpySocket
import cv2
import time

npSocket = NumpySocket()
npSocket.startClient(8014)

# Read until video is completed
while (True):
    # Capture frame-by-frame
    try:
        frame = npSocket.recieveNumpy()
        cv2.imshow('Frame', frame)

        # Press Q on keyboard to  exit
        if cv2.waitKey(25) & 0xFF == ord('q'):
            break
    except KeyboardInterrupt:
        npSocket.endClient()

npSocket.endClient()
print("Closing")
cv2.destroyAllWindows()
Beispiel #17
0
# ## From https://stackoverflow.com/questions/30988033/sending-live-video-frame-over-network-in-python-opencv
# import socket
from numpysocket import NumpySocket
import cv2

host_ip = 'localhost'  # change me

npSocket = NumpySocket()
npSocket.startClient(host_ip, 9999)

# Read until video is completed
while (True):
    # Capture frame-by-frame
    frame = npSocket.recieve()
    cv2.imshow('Frame', frame)

    # Press Q on keyboard to  exit
    if cv2.waitKey(25) & 0xFF == ord('q'):
        break

print("Closing")
npSocket.close()