Exemple #1
0
parser.add_argument('--quality', help='jpeg quality', type=int, default=30)
args = parser.parse_args()

QUALITY = args.quality


def encode(frame):
    imgRGB = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
    jpg = Image.fromarray(imgRGB)
    tmpFile = BytesIO()
    jpg.save(tmpFile, 'JPEG', quality=QUALITY)
    #print('encoded', tmpFile.getbuffer().nbytes)
    return tmpFile


cam = Camera(args.size, args.dev, debug=False, transf=lambda s: map(encode, s))

stop = False


def signal_handler(signal, frame):
    global stop
    cam.stop()
    stop = True
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)


class CamHandler(BaseHTTPRequestHandler):
Exemple #2
0
    def getframe():
        ret, frame = cap.read()
        return cv.cvtColor(frame, cv.COLOR_BGR2RGB)
elif False:
    from umucv.stream import autoStream
    stream = autoStream()

    def getframe():
        _, frame = next(stream)
        return cv.cvtColor(frame, cv.COLOR_BGR2RGB)
else:
    # captura asíncrona en un hilo
    # para devolver siempre el frame más reciente
    from umucv.stream import Camera
    cam = Camera()

    def getframe():
        return cv.cvtColor(cam.frame, cv.COLOR_BGR2RGB)


def send_image(imgRGB):
    # para evitar un archivo intermedio en disco
    image = Image.fromarray(imgRGB, mode='RGB')
    byte_io = BytesIO()
    image.save(byte_io, 'PNG')
    byte_io.seek(0)
    return send_file(byte_io, mimetype='image/png')


app = Flask(__name__)
Exemple #3
0
if args.preview:
    for key, frame in autoStream():
        cv.imshow("test", process(frame))
    cv.destroyAllWindows()


def encode(frame):
    imgRGB = cv.cvtColor(frame, cv.COLOR_BGR2RGB)
    jpg = Image.fromarray(imgRGB)
    tmpFile = BytesIO()
    jpg.save(tmpFile, 'JPEG', quality=args.quality)
    #print('encoded', tmpFile.getbuffer().nbytes)
    return tmpFile


cam = Camera(debug=False)

stop = False


def signal_handler(signal, frame):
    global stop
    cam.stop()
    stop = True
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)


class CamHandler(BaseHTTPRequestHandler):
Exemple #4
0
from io import StringIO, BytesIO
import time

from umucv.stream import Camera
from umucv.util import sourceArgs
import signal
import sys

import argparse

parser = argparse.ArgumentParser()
sourceArgs(parser)
parser.add_argument('--quality', help='jpeg quality', type=int, default=30)
args = parser.parse_args()

cam = Camera(args.size, args.dev)

QUALITY = args.quality

stop = False


def signal_handler(signal, frame):
    global stop
    cam.stop()
    stop = True
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)
Exemple #5
0
#!/usr/bin/env python

import cv2 as cv
from umucv.stream import Camera


def work(img, n):
    r = img
    for _ in range(n):
        r = cv.medianBlur(r, 17)
    return r


#cam = Camera((640,480),'0',debug=True)
cam = Camera(debug=True)

t = 0

while True:
    key = cv.waitKey(1) & 0xFF
    if key == 27: break

    if cam.time == t: continue
    t = cam.time

    cv.imshow('webcam', work(cam.frame, 20))
    print('WORK {:.0f}'.format(cam.clock.time()))

cam.stop()
cv.destroyAllWindows()
Exemple #6
0
import threading

from io import BytesIO
from PIL import Image
import cv2 as cv
from umucv.stream import Camera

from dotenv import load_dotenv

load_dotenv()

updater = Updater(os.environ['TOKEN'])

Bot = updater.bot

cam = Camera()


def shutdown():
    updater.stop()
    updater.is_idle = False
    cam.stop()


def stop(update, _):
    cid = update.message.chat_id
    if cid != os.environ['USER_ID']:
        return
    update.message.reply_text('Bye!')
    threading.Thread(target=shutdown).start()