Пример #1
0
    '--device', '-d', type=int, required=False, help='Camera device. 0 for /dev/video0', default=0)
parser.add_argument(
    '--fps', '-f', type=int, required=False, help='FPS', default=10)
parser.add_argument(
    '--uri', '-u', type=str, required=False, help='broker_uri', default='amqp://localhost:5672')
args = parser.parse_args()

device = args.device
fps = args.fps
broker_uri = args.uri

cap = VideoCapture(device)
if cap.isOpened():
    log.info('Connected to device: /dev/video{}'.format(device))
else:
    log.error('Coudn\'t find device: /dev/video{}'.format(device))
    exit()

log.info('Camera FPS set to {}'.format(fps))
cap.set(CAP_PROP_FPS, fps)

channel = StreamChannel(broker_uri)
log.info('Connected to broker {}', broker_uri)

log.info('Starting to capture')

while True:
    ret, frame = cap.read()

    msg = Message()
    msg.topic = 'CameraGateway.{}.Frame'.format(args.id)
Пример #2
0
from is_wire.core import Channel, Subscription, Message, Logger
from is_msgs.common_pb2 import Position
import os
from sys import argv, exit

log = Logger(name="client")

uri = os.environ[
    "BROKER_URI"] if "BROKER_URI" in os.environ else "amqp://10.10.2.20:30000"
log.info("uri={}", uri)
if len(argv) != 3:
    log.error("Usage: python navigate.py <X> <Y>")
    exit(-1)

channel = Channel(uri)
subscription = Subscription(channel)

position = Position()
position.x = float(argv[1])
position.y = float(argv[2])

channel.publish(message=Message(content=position, reply_to=subscription),
                topic="RobotGateway.0.NavigateTo")

reply = channel.consume(timeout=1.0)
log.info("status={}", reply.status)
Пример #3
0
import os
import json
from subprocess import Popen, PIPE, STDOUT
from is_wire.core import Logger

log = Logger(name="SplitSamples")

if not os.path.exists("samples"):
    log.critical("'samples' folder not found")
if not os.path.exists("samples/spots.json"):
    log.critical("'samples/spots.json' file not found")

with open("samples/spots.json", 'r') as f:
    spots = json.load(f)

ffmpeg_command = "ffmpeg -y -i gestures.MOV -ss {ss:.2f} -t {t:.2f} -an samples/{gesture:02d}.MOV"
for spot in spots:
    g_id = int(spot['gesture'])
    command = ffmpeg_command.format(ss=spot['ss'], t=spot['t'], gesture=g_id)
    process = Popen(command.split(), stdout=PIPE, stderr=STDOUT)
    log.info("{}", command)
    if process.wait() == 0:
        log.info("{} | {:.2f} + {:.2f}", g_id, spot['ss'], spot['t'])
    else:
        log.error("Failed to split video gesture: {}", g_id)
Пример #4
0
log = Logger(name="Capture")

# get folder to store the collected data
if exp == "emotions":
    folder = op.folder_emotions
elif exp == "signals":
    folder = op.folder_signals
elif exp == "gestures":
    folder = op.folder_gestures
elif exp == "adl":
    folder = op.folder_adl
elif exp == "falls":
    folder = op.folder_falls
else:
    log.error("Invalid experiment!")
    sys.exit(-1)

# add new folder
if args.foldername is not None:
    folder = os.path.join(folder, args.foldername)

# get folder from each possible label
labels_folders = utils.get_label_folder(folder, labels)

# create a folder to store timestamps
timestamps_folder = os.path.join(labels_folders[label_id], "timestamps")
if not os.path.exists(timestamps_folder):
    os.makedirs(timestamps_folder)

sequence = "{:03d}".format(int(subject_id))